[INFO] fetching crate pexacoin 0.1.0...
[INFO] checking pexacoin-0.1.0 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate pexacoin 0.1.0 into /workspace/builds/worker-5-tc1/source
[INFO] validating manifest of crates.io crate pexacoin 0.1.0 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate pexacoin 0.1.0
[INFO] finished tweaking crates.io crate pexacoin 0.1.0
[INFO] tweaked toml for crates.io crate pexacoin 0.1.0 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded secp256k1 v0.15.5
[INFO] [stderr]   Downloaded bitcoinconsensus v0.17.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c9ca779bf21cbed65439732b9a1a7ba58b4d778a04406a8b06064a75787796c4
[INFO] running `Command { std: "docker" "start" "-a" "c9ca779bf21cbed65439732b9a1a7ba58b4d778a04406a8b06064a75787796c4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c9ca779bf21cbed65439732b9a1a7ba58b4d778a04406a8b06064a75787796c4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c9ca779bf21cbed65439732b9a1a7ba58b4d778a04406a8b06064a75787796c4", kill_on_drop: false }`
[INFO] [stdout] c9ca779bf21cbed65439732b9a1a7ba58b4d778a04406a8b06064a75787796c4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6e86df79e0ecc326eaf363cc006150ff7c4a877e789bdeda347ec9113597caec
[INFO] running `Command { std: "docker" "start" "-a" "6e86df79e0ecc326eaf363cc006150ff7c4a877e789bdeda347ec9113597caec", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]     Checking rand_core v0.4.2
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling cc v1.0.41
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]    Compiling serde_json v1.0.114
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking rand_jitter v0.1.4
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]     Checking hex v0.3.2
[INFO] [stderr]     Checking bech32 v0.7.3
[INFO] [stderr]     Checking ryu v1.0.17
[INFO] [stderr]     Checking bitcoin_hashes v0.7.6
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]     Checking itoa v1.0.10
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]    Compiling secp256k1 v0.15.5
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]    Compiling serde_codegen_internals v0.14.2
[INFO] [stderr]    Compiling serde_derive v0.9.15
[INFO] [stderr]     Checking serde_test v1.0.176
[INFO] [stderr]     Checking pexacoin v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/util/amount.rs:182:16
[INFO] [stdout]     |
[INFO] [stdout] 182 |             '0'...'9' => {
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util/misc.rs:29:14
[INFO] [stdout]    |
[INFO] [stdout] 29 |         b'0' ... b'9' => c - '0' as u8,
[INFO] [stdout]    |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util/misc.rs:30:14
[INFO] [stdout]    |
[INFO] [stdout] 30 |         b'a' ... b'f' => c - 'a' as u8 + 10,
[INFO] [stdout]    |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util/misc.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 31 |         b'A' ... b'F' => c - 'A' as u8 + 10,
[INFO] [stdout]    |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:409:14
[INFO] [stdout]     |
[INFO] [stdout] 409 |             0...0xFC             => { 1 }
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:410:17
[INFO] [stdout]     |
[INFO] [stdout] 410 |             0xFD...0xFFFF        => { 3 }
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:411:20
[INFO] [stdout]     |
[INFO] [stdout] 411 |             0x10000...0xFFFFFFFF => { 5 }
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:421:14
[INFO] [stdout]     |
[INFO] [stdout] 421 |             0...0xFC => {
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:425:17
[INFO] [stdout]     |
[INFO] [stdout] 425 |             0xFD...0xFFFF => {
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:430:20
[INFO] [stdout]     |
[INFO] [stdout] 430 |             0x10000...0xFFFFFFFF => {
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/network/mod.rs:49:103
[INFO] [stdout]    |
[INFO] [stdout] 49 |             Error::SocketMutexPoisoned | Error::SocketNotConnectedToPeer => f.write_str(error::Error::description(self)),
[INFO] [stdout]    |                                                                                                       ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/blockdata/script.rs:107:35
[INFO] [stdout]     |
[INFO] [stdout] 107 |         f.write_str(error::Error::description(self))
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/mod.rs:78:93
[INFO] [stdout]    |
[INFO] [stdout] 78 |             Error::BlockBadProofOfWork | Error::BlockBadTarget => f.write_str(error::Error::description(self)),
[INFO] [stdout]    |                                                                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/util/amount.rs:105:41
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let desc = ::std::error::Error::description(self);
[INFO] [stdout]     |                                         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/util/bip32.rs:397:50
[INFO] [stdout]     |
[INFO] [stdout] 397 |             Error::Ecdsa(ref e) => error::Error::description(e),
[INFO] [stdout]     |                                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/psbt/error.rs:56:78
[INFO] [stdout]    |
[INFO] [stdout] 56 |             Error::InvalidKey(ref rkey) => write!(f, "{}: {}", error::Error::description(self), rkey),
[INFO] [stdout]    |                                                                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/psbt/error.rs:57:80
[INFO] [stdout]    |
[INFO] [stdout] 57 |             Error::DuplicateKey(ref rkey) => write!(f, "{}: {}", error::Error::description(self), rkey),
[INFO] [stdout]    |                                                                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/psbt/error.rs:58:133
[INFO] [stdout]    |
[INFO] [stdout] 58 | ...a } => write!(f, "{}: expected {}, actual {}", error::Error::description(self), e.txid(), a.txid()),
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/psbt/error.rs:59:89
[INFO] [stdout]    |
[INFO] [stdout] 59 |             Error::NonStandardSigHashType(ref sht) => write!(f, "{}: {}", error::Error::description(self), sht),
[INFO] [stdout]    |                                                                                         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/psbt/error.rs:65:63
[INFO] [stdout]    |
[INFO] [stdout] 65 |             | Error::NoMorePairs => f.write_str(error::Error::description(self))
[INFO] [stdout]    |                                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:105:135
[INFO] [stdout]     |
[INFO] [stdout] 105 | ...a } => write!(f, "{}: expected {}, actual {}", error::Error::description(self), e, a),
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:106:138
[INFO] [stdout]     |
[INFO] [stdout] 106 | ...} => write!(f, "{}: requested {}, maximum {}", error::Error::description(self), r, m),
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:107:128
[INFO] [stdout]     |
[INFO] [stdout] 107 | ...   Error::InvalidChecksum { expected: ref e, actual: ref a } => write!(f, "{}: expected {}, actual {}", error::Error::description(self...
[INFO] [stdout]     |                                                                                                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:108:84
[INFO] [stdout]     |
[INFO] [stdout] 108 |             Error::UnknownNetworkMagic(ref m) => write!(f, "{}: {}", error::Error::description(self), m),
[INFO] [stdout]     |                                                                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:109:76
[INFO] [stdout]     |
[INFO] [stdout] 109 |             Error::ParseFailed(ref e) => write!(f, "{}: {}", error::Error::description(self), e),
[INFO] [stdout]     |                                                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:110:91
[INFO] [stdout]     |
[INFO] [stdout] 110 |             Error::UnsupportedSegwitFlag(ref swflag) => write!(f, "{}: {}", error::Error::description(self), swflag),
[INFO] [stdout]     |                                                                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:111:95
[INFO] [stdout]     |
[INFO] [stdout] 111 |             Error::UnrecognizedNetworkCommand(ref nwcmd) => write!(f, "{}: {}", error::Error::description(self), nwcmd),
[INFO] [stdout]     |                                                                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:112:83
[INFO] [stdout]     |
[INFO] [stdout] 112 |             Error::UnexpectedHexDigit(ref d) => write!(f, "{}: {}", error::Error::description(self), d),
[INFO] [stdout]     |                                                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:343:21
[INFO] [stdout]     |
[INFO] [stdout] 343 |     writer: &'a mut io::Write,
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 343 |     writer: &'a mut dyn io::Write,
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:439:21
[INFO] [stdout]     |
[INFO] [stdout] 439 |     reader: &'a mut io::Read,
[INFO] [stdout]     |                     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 439 |     reader: &'a mut dyn io::Read,
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:477:21
[INFO] [stdout]     |
[INFO] [stdout] 477 |     writer: &'a mut io::Write,
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 477 |     writer: &'a mut dyn io::Write,
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/network/mod.rs:70:32
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blockdata/script.rs:112:32
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn cause(&self) -> Option<&error::Error> { None }
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn cause(&self) -> Option<&dyn error::Error> { None }
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blockdata/script.rs:349:35
[INFO] [stdout]     |
[INFO] [stdout] 349 |     pub fn fmt_asm(&self, f: &mut fmt::Write) -> fmt::Result {
[INFO] [stdout]     |                                   ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 349 |     pub fn fmt_asm(&self, f: &mut dyn fmt::Write) -> fmt::Result {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blockdata/transaction.rs:141:32
[INFO] [stdout]     |
[INFO] [stdout] 141 |     fn cause(&self) -> Option<&::std::error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 141 |     fn cause(&self) -> Option<&dyn (::std::error::Error)> {
[INFO] [stdout]     |                                +++++                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/mod.rs:84:32
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/key.rs:127:37
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn fmt_wif(&self, fmt: &mut fmt::Write) -> fmt::Result {
[INFO] [stdout]     |                                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn fmt_wif(&self, fmt: &mut dyn fmt::Write) -> fmt::Result {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/address.rs:94:32
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn cause(&self) -> Option<&::std::error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn cause(&self) -> Option<&dyn (::std::error::Error)> {
[INFO] [stdout]    |                                +++++                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/amount.rs:225:13
[INFO] [stdout]     |
[INFO] [stdout] 225 |     f: &mut fmt::Write,
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 225 |     f: &mut dyn fmt::Write,
[INFO] [stdout]     |             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/amount.rs:115:32
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/amount.rs:373:40
[INFO] [stdout]     |
[INFO] [stdout] 373 |     pub fn fmt_value_in(&self, f: &mut fmt::Write, denom: Denomination) -> fmt::Result {
[INFO] [stdout]     |                                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 373 |     pub fn fmt_value_in(&self, f: &mut dyn fmt::Write, denom: Denomination) -> fmt::Result {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/amount.rs:670:40
[INFO] [stdout]     |
[INFO] [stdout] 670 |     pub fn fmt_value_in(&self, f: &mut fmt::Write, denom: Denomination) -> fmt::Result {
[INFO] [stdout]     |                                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 670 |     pub fn fmt_value_in(&self, f: &mut dyn fmt::Write, denom: Denomination) -> fmt::Result {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/base58.rs:56:32
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn cause(&self) -> Option<&error::Error> { None }
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn cause(&self) -> Option<&dyn error::Error> { None }
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip32.rs:386:32
[INFO] [stdout]     |
[INFO] [stdout] 386 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 386 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/contracthash.rs:72:32
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:136:69
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub fn match_any(&self, block_hash: &sha256d::Hash, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub fn match_any(&self, block_hash: &sha256d::Hash, query: &mut dyn Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:142:69
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn match_all(&self, block_hash: &sha256d::Hash, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn match_all(&self, block_hash: &sha256d::Hash, query: &mut dyn Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:156:32
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn new(writer: &'a mut io::Write, block: &'a Block) -> BlockFilterWriter<'a> {
[INFO] [stdout]     |                                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn new(writer: &'a mut dyn io::Write, block: &'a Block) -> BlockFilterWriter<'a> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:217:42
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn match_any(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn match_any(&self, reader: &mut dyn io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:217:64
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn match_any(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn match_any(&self, reader: &mut io::Read, query: &mut dyn Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:222:42
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn match_all(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn match_all(&self, reader: &mut dyn io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:222:64
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn match_all(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn match_all(&self, reader: &mut io::Read, query: &mut dyn Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:241:42
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn match_any(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn match_any(&self, reader: &mut dyn io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:241:64
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn match_any(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn match_any(&self, reader: &mut io::Read, query: &mut dyn Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:281:42
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn match_all(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn match_all(&self, reader: &mut dyn io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:281:64
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn match_all(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn match_all(&self, reader: &mut io::Read, query: &mut dyn Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:350:32
[INFO] [stdout]     |
[INFO] [stdout] 350 |     pub fn new(writer: &'a mut io::Write, k0: u64, k1: u64, m: u64, p: u8) -> GCSFilterWriter<'a> {
[INFO] [stdout]     |                                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 350 |     pub fn new(writer: &'a mut dyn io::Write, k0: u64, k1: u64, m: u64, p: u8) -> GCSFilterWriter<'a> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:444:32
[INFO] [stdout]     |
[INFO] [stdout] 444 |     pub fn new(reader: &'a mut io::Read) -> BitStreamReader {
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 444 |     pub fn new(reader: &'a mut dyn io::Read) -> BitStreamReader {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:482:32
[INFO] [stdout]     |
[INFO] [stdout] 482 |     pub fn new(writer: &'a mut io::Write) -> BitStreamWriter {
[INFO] [stdout]     |                                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 482 |     pub fn new(writer: &'a mut dyn io::Write) -> BitStreamWriter {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:118:32
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/util/amount.rs:182:16
[INFO] [stdout]     |
[INFO] [stdout] 182 |             '0'...'9' => {
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util/misc.rs:29:14
[INFO] [stdout]    |
[INFO] [stdout] 29 |         b'0' ... b'9' => c - '0' as u8,
[INFO] [stdout]    |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util/misc.rs:30:14
[INFO] [stdout]    |
[INFO] [stdout] 30 |         b'a' ... b'f' => c - 'a' as u8 + 10,
[INFO] [stdout]    |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util/misc.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 31 |         b'A' ... b'F' => c - 'A' as u8 + 10,
[INFO] [stdout]    |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:409:14
[INFO] [stdout]     |
[INFO] [stdout] 409 |             0...0xFC             => { 1 }
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:410:17
[INFO] [stdout]     |
[INFO] [stdout] 410 |             0xFD...0xFFFF        => { 3 }
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:411:20
[INFO] [stdout]     |
[INFO] [stdout] 411 |             0x10000...0xFFFFFFFF => { 5 }
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:421:14
[INFO] [stdout]     |
[INFO] [stdout] 421 |             0...0xFC => {
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:425:17
[INFO] [stdout]     |
[INFO] [stdout] 425 |             0xFD...0xFFFF => {
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:430:20
[INFO] [stdout]     |
[INFO] [stdout] 430 |             0x10000...0xFFFFFFFF => {
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/network/mod.rs:64:35
[INFO] [stdout]    |
[INFO] [stdout] 64 |             Error::Io(ref e) => e.description(),
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/network/mod.rs:49:103
[INFO] [stdout]    |
[INFO] [stdout] 49 |             Error::SocketMutexPoisoned | Error::SocketNotConnectedToPeer => f.write_str(error::Error::description(self)),
[INFO] [stdout]    |                                                                                                       ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/blockdata/script.rs:107:35
[INFO] [stdout]     |
[INFO] [stdout] 107 |         f.write_str(error::Error::description(self))
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/mod.rs:78:93
[INFO] [stdout]    |
[INFO] [stdout] 78 |             Error::BlockBadProofOfWork | Error::BlockBadTarget => f.write_str(error::Error::description(self)),
[INFO] [stdout]    |                                                                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/util/amount.rs:105:41
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let desc = ::std::error::Error::description(self);
[INFO] [stdout]     |                                         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/util/bip32.rs:397:50
[INFO] [stdout]     |
[INFO] [stdout] 397 |             Error::Ecdsa(ref e) => error::Error::description(e),
[INFO] [stdout]     |                                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/psbt/error.rs:56:78
[INFO] [stdout]    |
[INFO] [stdout] 56 |             Error::InvalidKey(ref rkey) => write!(f, "{}: {}", error::Error::description(self), rkey),
[INFO] [stdout]    |                                                                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/psbt/error.rs:57:80
[INFO] [stdout]    |
[INFO] [stdout] 57 |             Error::DuplicateKey(ref rkey) => write!(f, "{}: {}", error::Error::description(self), rkey),
[INFO] [stdout]    |                                                                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/psbt/error.rs:58:133
[INFO] [stdout]    |
[INFO] [stdout] 58 | ...a } => write!(f, "{}: expected {}, actual {}", error::Error::description(self), e.txid(), a.txid()),
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/psbt/error.rs:59:89
[INFO] [stdout]    |
[INFO] [stdout] 59 |             Error::NonStandardSigHashType(ref sht) => write!(f, "{}: {}", error::Error::description(self), sht),
[INFO] [stdout]    |                                                                                         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/psbt/error.rs:65:63
[INFO] [stdout]    |
[INFO] [stdout] 65 |             | Error::NoMorePairs => f.write_str(error::Error::description(self))
[INFO] [stdout]    |                                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:105:135
[INFO] [stdout]     |
[INFO] [stdout] 105 | ...a } => write!(f, "{}: expected {}, actual {}", error::Error::description(self), e, a),
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:106:138
[INFO] [stdout]     |
[INFO] [stdout] 106 | ...} => write!(f, "{}: requested {}, maximum {}", error::Error::description(self), r, m),
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:107:128
[INFO] [stdout]     |
[INFO] [stdout] 107 | ...   Error::InvalidChecksum { expected: ref e, actual: ref a } => write!(f, "{}: expected {}, actual {}", error::Error::description(self...
[INFO] [stdout]     |                                                                                                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:108:84
[INFO] [stdout]     |
[INFO] [stdout] 108 |             Error::UnknownNetworkMagic(ref m) => write!(f, "{}: {}", error::Error::description(self), m),
[INFO] [stdout]     |                                                                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:109:76
[INFO] [stdout]     |
[INFO] [stdout] 109 |             Error::ParseFailed(ref e) => write!(f, "{}: {}", error::Error::description(self), e),
[INFO] [stdout]     |                                                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:110:91
[INFO] [stdout]     |
[INFO] [stdout] 110 |             Error::UnsupportedSegwitFlag(ref swflag) => write!(f, "{}: {}", error::Error::description(self), swflag),
[INFO] [stdout]     |                                                                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:111:95
[INFO] [stdout]     |
[INFO] [stdout] 111 |             Error::UnrecognizedNetworkCommand(ref nwcmd) => write!(f, "{}: {}", error::Error::description(self), nwcmd),
[INFO] [stdout]     |                                                                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:112:83
[INFO] [stdout]     |
[INFO] [stdout] 112 |             Error::UnexpectedHexDigit(ref d) => write!(f, "{}: {}", error::Error::description(self), d),
[INFO] [stdout]     |                                                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:343:21
[INFO] [stdout]     |
[INFO] [stdout] 343 |     writer: &'a mut io::Write,
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 343 |     writer: &'a mut dyn io::Write,
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:439:21
[INFO] [stdout]     |
[INFO] [stdout] 439 |     reader: &'a mut io::Read,
[INFO] [stdout]     |                     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 439 |     reader: &'a mut dyn io::Read,
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:477:21
[INFO] [stdout]     |
[INFO] [stdout] 477 |     writer: &'a mut io::Write,
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 477 |     writer: &'a mut dyn io::Write,
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/network/mod.rs:70:32
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blockdata/script.rs:112:32
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn cause(&self) -> Option<&error::Error> { None }
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn cause(&self) -> Option<&dyn error::Error> { None }
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blockdata/script.rs:349:35
[INFO] [stdout]     |
[INFO] [stdout] 349 |     pub fn fmt_asm(&self, f: &mut fmt::Write) -> fmt::Result {
[INFO] [stdout]     |                                   ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 349 |     pub fn fmt_asm(&self, f: &mut dyn fmt::Write) -> fmt::Result {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blockdata/transaction.rs:141:32
[INFO] [stdout]     |
[INFO] [stdout] 141 |     fn cause(&self) -> Option<&::std::error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 141 |     fn cause(&self) -> Option<&dyn (::std::error::Error)> {
[INFO] [stdout]     |                                +++++                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/mod.rs:84:32
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/key.rs:127:37
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn fmt_wif(&self, fmt: &mut fmt::Write) -> fmt::Result {
[INFO] [stdout]     |                                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn fmt_wif(&self, fmt: &mut dyn fmt::Write) -> fmt::Result {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/address.rs:94:32
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn cause(&self) -> Option<&::std::error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn cause(&self) -> Option<&dyn (::std::error::Error)> {
[INFO] [stdout]    |                                +++++                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/amount.rs:225:13
[INFO] [stdout]     |
[INFO] [stdout] 225 |     f: &mut fmt::Write,
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 225 |     f: &mut dyn fmt::Write,
[INFO] [stdout]     |             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/amount.rs:115:32
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/amount.rs:373:40
[INFO] [stdout]     |
[INFO] [stdout] 373 |     pub fn fmt_value_in(&self, f: &mut fmt::Write, denom: Denomination) -> fmt::Result {
[INFO] [stdout]     |                                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 373 |     pub fn fmt_value_in(&self, f: &mut dyn fmt::Write, denom: Denomination) -> fmt::Result {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/amount.rs:670:40
[INFO] [stdout]     |
[INFO] [stdout] 670 |     pub fn fmt_value_in(&self, f: &mut fmt::Write, denom: Denomination) -> fmt::Result {
[INFO] [stdout]     |                                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 670 |     pub fn fmt_value_in(&self, f: &mut dyn fmt::Write, denom: Denomination) -> fmt::Result {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/base58.rs:56:32
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn cause(&self) -> Option<&error::Error> { None }
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn cause(&self) -> Option<&dyn error::Error> { None }
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip32.rs:386:32
[INFO] [stdout]     |
[INFO] [stdout] 386 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 386 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/contracthash.rs:72:32
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:136:69
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub fn match_any(&self, block_hash: &sha256d::Hash, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub fn match_any(&self, block_hash: &sha256d::Hash, query: &mut dyn Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:142:69
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn match_all(&self, block_hash: &sha256d::Hash, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn match_all(&self, block_hash: &sha256d::Hash, query: &mut dyn Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:156:32
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn new(writer: &'a mut io::Write, block: &'a Block) -> BlockFilterWriter<'a> {
[INFO] [stdout]     |                                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn new(writer: &'a mut dyn io::Write, block: &'a Block) -> BlockFilterWriter<'a> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:217:42
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn match_any(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn match_any(&self, reader: &mut dyn io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:217:64
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn match_any(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn match_any(&self, reader: &mut io::Read, query: &mut dyn Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:222:42
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn match_all(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn match_all(&self, reader: &mut dyn io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:222:64
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn match_all(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn match_all(&self, reader: &mut io::Read, query: &mut dyn Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:241:42
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn match_any(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn match_any(&self, reader: &mut dyn io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:241:64
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn match_any(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn match_any(&self, reader: &mut io::Read, query: &mut dyn Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:281:42
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn match_all(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn match_all(&self, reader: &mut dyn io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:281:64
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn match_all(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn match_all(&self, reader: &mut io::Read, query: &mut dyn Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:350:32
[INFO] [stdout]     |
[INFO] [stdout] 350 |     pub fn new(writer: &'a mut io::Write, k0: u64, k1: u64, m: u64, p: u8) -> GCSFilterWriter<'a> {
[INFO] [stdout]     |                                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 350 |     pub fn new(writer: &'a mut dyn io::Write, k0: u64, k1: u64, m: u64, p: u8) -> GCSFilterWriter<'a> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:444:32
[INFO] [stdout]     |
[INFO] [stdout] 444 |     pub fn new(reader: &'a mut io::Read) -> BitStreamReader {
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 444 |     pub fn new(reader: &'a mut dyn io::Read) -> BitStreamReader {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:482:32
[INFO] [stdout]     |
[INFO] [stdout] 482 |     pub fn new(writer: &'a mut io::Write) -> BitStreamWriter {
[INFO] [stdout]     |                                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 482 |     pub fn new(writer: &'a mut dyn io::Write) -> BitStreamWriter {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:118:32
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/uint.rs:335:18
[INFO] [stdout]     |
[INFO] [stdout] 335 |                 <fmt::Debug>::fmt(self, f)
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/uint.rs:335:18
[INFO] [stdout]     |
[INFO] [stdout] 335 |                 <fmt::Debug>::fmt(self, f)
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/mod.rs:94:39
[INFO] [stdout]    |
[INFO] [stdout] 94 |             Error::Encode(ref e) => e.description(),
[INFO] [stdout]    |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/mod.rs:95:40
[INFO] [stdout]    |
[INFO] [stdout] 95 |             Error::Network(ref e) => e.description(),
[INFO] [stdout]    |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:138:35
[INFO] [stdout]     |
[INFO] [stdout] 138 |             Error::Io(ref e) => e.description(),
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:139:39
[INFO] [stdout]     |
[INFO] [stdout] 139 |             Error::Base58(ref e) => e.description(),
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:140:42
[INFO] [stdout]     |
[INFO] [stdout] 140 |             Error::ByteOrder(ref e) => e.description(),
[INFO] [stdout]     |                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:141:42
[INFO] [stdout]     |
[INFO] [stdout] 141 |             Error::Secp256k1(ref e) => e.description(),
[INFO] [stdout]     |                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:142:37
[INFO] [stdout]     |
[INFO] [stdout] 142 |             Error::Psbt(ref e) => e.description(),
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/network/mod.rs:64:35
[INFO] [stdout]    |
[INFO] [stdout] 64 |             Error::Io(ref e) => e.description(),
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 70 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/uint.rs:335:18
[INFO] [stdout]     |
[INFO] [stdout] 335 |                 <fmt::Debug>::fmt(self, f)
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/uint.rs:335:18
[INFO] [stdout]     |
[INFO] [stdout] 335 |                 <fmt::Debug>::fmt(self, f)
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/mod.rs:94:39
[INFO] [stdout]    |
[INFO] [stdout] 94 |             Error::Encode(ref e) => e.description(),
[INFO] [stdout]    |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/mod.rs:95:40
[INFO] [stdout]    |
[INFO] [stdout] 95 |             Error::Network(ref e) => e.description(),
[INFO] [stdout]    |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:138:35
[INFO] [stdout]     |
[INFO] [stdout] 138 |             Error::Io(ref e) => e.description(),
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:139:39
[INFO] [stdout]     |
[INFO] [stdout] 139 |             Error::Base58(ref e) => e.description(),
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:140:42
[INFO] [stdout]     |
[INFO] [stdout] 140 |             Error::ByteOrder(ref e) => e.description(),
[INFO] [stdout]     |                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:141:42
[INFO] [stdout]     |
[INFO] [stdout] 141 |             Error::Secp256k1(ref e) => e.description(),
[INFO] [stdout]     |                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:142:37
[INFO] [stdout]     |
[INFO] [stdout] 142 |             Error::Psbt(ref e) => e.description(),
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/consensus/encode.rs:819:25
[INFO] [stdout]     |
[INFO] [stdout] 819 |             x => panic!(x)
[INFO] [stdout]     |                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{:?}" format string to use the `Debug` implementation of `Result<Vec<u8>, encode::Error>`
[INFO] [stdout]     |
[INFO] [stdout] 819 |             x => panic!("{:?}", x)
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 819 |             x => std::panic::panic_any(x)
[INFO] [stdout]     |                  ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/consensus/encode.rs:823:25
[INFO] [stdout]     |
[INFO] [stdout] 823 |             x => panic!(x)
[INFO] [stdout]     |                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{:?}" format string to use the `Debug` implementation of `Result<Vec<u8>, encode::Error>`
[INFO] [stdout]     |
[INFO] [stdout] 823 |             x => panic!("{:?}", x)
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 823 |             x => std::panic::panic_any(x)
[INFO] [stdout]     |                  ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/consensus/encode.rs:827:25
[INFO] [stdout]     |
[INFO] [stdout] 827 |             x => panic!(x)
[INFO] [stdout]     |                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{:?}" format string to use the `Debug` implementation of `Result<Vec<u8>, encode::Error>`
[INFO] [stdout]     |
[INFO] [stdout] 827 |             x => panic!("{:?}", x)
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 827 |             x => std::panic::panic_any(x)
[INFO] [stdout]     |                  ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/consensus/encode.rs:831:25
[INFO] [stdout]     |
[INFO] [stdout] 831 |             x => panic!(x)
[INFO] [stdout]     |                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{:?}" format string to use the `Debug` implementation of `Result<Vec<u8>, encode::Error>`
[INFO] [stdout]     |
[INFO] [stdout] 831 |             x => panic!("{:?}", x)
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 831 |             x => std::panic::panic_any(x)
[INFO] [stdout]     |                  ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/consensus/encode.rs:835:25
[INFO] [stdout]     |
[INFO] [stdout] 835 |             x => panic!(x)
[INFO] [stdout]     |                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{:?}" format string to use the `Debug` implementation of `Result<Vec<u8>, encode::Error>`
[INFO] [stdout]     |
[INFO] [stdout] 835 |             x => panic!("{:?}", x)
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 835 |             x => std::panic::panic_any(x)
[INFO] [stdout]     |                  ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/consensus/encode.rs:839:25
[INFO] [stdout]     |
[INFO] [stdout] 839 |             x => panic!(x)
[INFO] [stdout]     |                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{:?}" format string to use the `Debug` implementation of `Result<Vec<u8>, encode::Error>`
[INFO] [stdout]     |
[INFO] [stdout] 839 |             x => panic!("{:?}", x)
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 839 |             x => std::panic::panic_any(x)
[INFO] [stdout]     |                  ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 76 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.75s
[INFO] running `Command { std: "docker" "inspect" "6e86df79e0ecc326eaf363cc006150ff7c4a877e789bdeda347ec9113597caec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6e86df79e0ecc326eaf363cc006150ff7c4a877e789bdeda347ec9113597caec", kill_on_drop: false }`
[INFO] [stdout] 6e86df79e0ecc326eaf363cc006150ff7c4a877e789bdeda347ec9113597caec
[INFO] checking pexacoin-0.1.0 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate pexacoin 0.1.0 into /workspace/builds/worker-5-tc2/source
[INFO] validating manifest of crates.io crate pexacoin 0.1.0 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate pexacoin 0.1.0
[INFO] finished tweaking crates.io crate pexacoin 0.1.0
[INFO] tweaked toml for crates.io crate pexacoin 0.1.0 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4262acc128ae426a2962b2aa31ea2c38d23a5559b7ab21200d262fdc85b041dc
[INFO] running `Command { std: "docker" "start" "-a" "4262acc128ae426a2962b2aa31ea2c38d23a5559b7ab21200d262fdc85b041dc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4262acc128ae426a2962b2aa31ea2c38d23a5559b7ab21200d262fdc85b041dc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4262acc128ae426a2962b2aa31ea2c38d23a5559b7ab21200d262fdc85b041dc", kill_on_drop: false }`
[INFO] [stdout] 4262acc128ae426a2962b2aa31ea2c38d23a5559b7ab21200d262fdc85b041dc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0b81bc765c2b729e8e9685f7180ed677899ad1435a34cfa83d8d17eb707c8a18
[INFO] running `Command { std: "docker" "start" "-a" "0b81bc765c2b729e8e9685f7180ed677899ad1435a34cfa83d8d17eb707c8a18", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]     Checking rand_core v0.4.2
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling cc v1.0.41
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]    Compiling serde_json v1.0.114
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_jitter v0.1.4
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]     Checking ryu v1.0.17
[INFO] [stderr]     Checking itoa v1.0.10
[INFO] [stderr]     Checking hex v0.3.2
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]     Checking bitcoin_hashes v0.7.6
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking bech32 v0.7.3
[INFO] [stderr]    Compiling secp256k1 v0.15.5
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]    Compiling serde_codegen_internals v0.14.2
[INFO] [stderr]    Compiling serde_derive v0.9.15
[INFO] [stderr]     Checking serde_test v1.0.176
[INFO] [stderr]     Checking pexacoin v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/network/address.rs:53:17
[INFO] [stdout]    |
[INFO] [stdout] 53 |         if addr[0..3] == ONION {
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/network/message.rs:51:18
[INFO] [stdout]    |
[INFO] [stdout] 51 |         for x in 0..strbytes.len() {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/network/message.rs:236:18
[INFO] [stdout]     |
[INFO] [stdout] 236 |         for _ in 0..len {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/network/stream_reader.rs:65:56
[INFO] [stdout]    |
[INFO] [stdout] 65 |                         self.unparsed.extend(self.data[0..count].iter());
[INFO] [stdout]    |                                                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:364:49
[INFO] [stdout]     |
[INFO] [stdout] 364 |                         match read_uint(&self.0[index..], 1) {
[INFO] [stdout]     |                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:374:49
[INFO] [stdout]     |
[INFO] [stdout] 374 |                         match read_uint(&self.0[index..], 2) {
[INFO] [stdout]     |                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:384:49
[INFO] [stdout]     |
[INFO] [stdout] 384 |                         match read_uint(&self.0[index..], 4) {
[INFO] [stdout]     |                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:404:39
[INFO] [stdout]     |
[INFO] [stdout] 404 |                     for ch in &self.0[index..index + data_len] {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:470:66
[INFO] [stdout]     |
[INFO] [stdout] 470 |                 let ret = Some(Instruction::PushBytes(&self.data[1..n+1]));
[INFO] [stdout]     |                                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:471:40
[INFO] [stdout]     |
[INFO] [stdout] 471 |                 self.data = &self.data[n + 1..];
[INFO] [stdout]     |                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:479:52
[INFO] [stdout]     |
[INFO] [stdout] 479 |                 let n = match read_uint(&self.data[1..], 1) {
[INFO] [stdout]     |                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:494:66
[INFO] [stdout]     |
[INFO] [stdout] 494 |                 let ret = Some(Instruction::PushBytes(&self.data[2..n+2]));
[INFO] [stdout]     |                                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:495:40
[INFO] [stdout]     |
[INFO] [stdout] 495 |                 self.data = &self.data[n + 2..];
[INFO] [stdout]     |                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:503:52
[INFO] [stdout]     |
[INFO] [stdout] 503 |                 let n = match read_uint(&self.data[1..], 2) {
[INFO] [stdout]     |                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:518:66
[INFO] [stdout]     |
[INFO] [stdout] 518 |                 let ret = Some(Instruction::PushBytes(&self.data[3..n + 3]));
[INFO] [stdout]     |                                                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:519:40
[INFO] [stdout]     |
[INFO] [stdout] 519 |                 self.data = &self.data[n + 3..];
[INFO] [stdout]     |                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:527:52
[INFO] [stdout]     |
[INFO] [stdout] 527 |                 let n = match read_uint(&self.data[1..], 4) {
[INFO] [stdout]     |                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:542:66
[INFO] [stdout]     |
[INFO] [stdout] 542 |                 let ret = Some(Instruction::PushBytes(&self.data[5..n + 5]));
[INFO] [stdout]     |                                                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:543:40
[INFO] [stdout]     |
[INFO] [stdout] 543 |                 self.data = &self.data[n + 5..];
[INFO] [stdout]     |                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:549:40
[INFO] [stdout]     |
[INFO] [stdout] 549 |                 self.data = &self.data[1..];
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/transaction.rs:179:33
[INFO] [stdout]     |
[INFO] [stdout] 179 |             vout: parse_vout(&s[colon+1..])?,
[INFO] [stdout]     |                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/blockdata/block.rs:84:41
[INFO] [stdout]    |
[INFO] [stdout] 84 |                         o.script_pubkey[0..6] == [0x6a, 0x24, 0xaa, 0x21, 0xa9, 0xed] }) {
[INFO] [stdout]    |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/blockdata/block.rs:85:111
[INFO] [stdout]    |
[INFO] [stdout] 85 |                     let commitment = sha256d::Hash::from_slice(&coinbase.output[pos].script_pubkey.as_bytes()[6..38]).unwrap();
[INFO] [stdout]    |                                                                                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/key.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |         ret[1..33].copy_from_slice(&self.key[..]);
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/key.rs:170:57
[INFO] [stdout]     |
[INFO] [stdout] 170 |             key: secp256k1::SecretKey::from_slice(&data[1..33])?,
[INFO] [stdout]     |                                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/address.rs:178:69
[INFO] [stdout]     |
[INFO] [stdout] 178 |             Payload::PubkeyHash(Hash::from_slice(&script.as_bytes()[3..23]).unwrap())
[INFO] [stdout]     |                                                                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/address.rs:180:69
[INFO] [stdout]     |
[INFO] [stdout] 180 |             Payload::ScriptHash(Hash::from_slice(&script.as_bytes()[2..22]).unwrap())
[INFO] [stdout]     |                                                                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util/address.rs:194:44
[INFO] [stdout]     |
[INFO] [stdout] 194 |                 program: script.as_bytes()[2..].to_vec(),
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util/address.rs:375:26
[INFO] [stdout]     |
[INFO] [stdout] 375 |                 prefixed[1..].copy_from_slice(&hash[..]);
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util/address.rs:384:26
[INFO] [stdout]     |
[INFO] [stdout] 384 |                 prefixed[1..].copy_from_slice(&hash[..]);
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util/address.rs:473:69
[INFO] [stdout]     |
[INFO] [stdout] 473 |                 Payload::PubkeyHash(hash160::Hash::from_slice(&data[1..]).unwrap()),
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util/address.rs:477:69
[INFO] [stdout]     |
[INFO] [stdout] 477 |                 Payload::ScriptHash(hash160::Hash::from_slice(&data[1..]).unwrap()),
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util/address.rs:481:69
[INFO] [stdout]     |
[INFO] [stdout] 481 |                 Payload::PubkeyHash(hash160::Hash::from_slice(&data[1..]).unwrap()),
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util/address.rs:485:69
[INFO] [stdout]     |
[INFO] [stdout] 485 |                 Payload::ScriptHash(hash160::Hash::from_slice(&data[1..]).unwrap()),
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util/amount.rs:155:16
[INFO] [stdout]     |
[INFO] [stdout] 155 |         s = &s[1..];
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/amount.rs:171:20
[INFO] [stdout]     |
[INFO] [stdout] 171 |             s = &s[0..s.len() - last_n];
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/util/amount.rs:182:16
[INFO] [stdout]     |
[INFO] [stdout] 182 |             '0'...'9' => {
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/amount.rs:209:14
[INFO] [stdout]     |
[INFO] [stdout] 209 |     for _ in 0..scale_factor {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util/amount.rs:241:37
[INFO] [stdout]     |
[INFO] [stdout] 241 |             write!(f, "0.{}", &real[real.len() - nb_decimals..])?;
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/amount.rs:246:23
[INFO] [stdout]     |
[INFO] [stdout] 246 |                 &real[0..(real.len() - nb_decimals)],
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util/amount.rs:247:23
[INFO] [stdout]     |
[INFO] [stdout] 247 |                 &real[real.len() - nb_decimals..]
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/util/base58.rs:97:20
[INFO] [stdout]    |
[INFO] [stdout] 97 |         self.stack[0..self.len].iter().chain(self.heap.iter())
[INFO] [stdout]    |                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/base58.rs:102:20
[INFO] [stdout]     |
[INFO] [stdout] 102 |         self.stack[0..self.len].iter_mut().chain(self.heap.iter_mut())
[INFO] [stdout]     |                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/base58.rs:166:46
[INFO] [stdout]     |
[INFO] [stdout] 166 |     let actual = LittleEndian::read_u32(&ret[ck_start..(ck_start + 4)]);
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/base58.rs:205:14
[INFO] [stdout]     |
[INFO] [stdout] 205 |     for _ in 0..leading_zero_count {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/base58.rs:238:29
[INFO] [stdout]     |
[INFO] [stdout] 238 |             .chain(checksum[0..4].iter().cloned())
[INFO] [stdout]     |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/base58.rs:248:25
[INFO] [stdout]     |
[INFO] [stdout] 248 |         .chain(checksum[0..4].iter().cloned());
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/internal_macros.rs:128:26
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 for i in 0..$len {
[INFO] [stdout]     |                          ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/bip32.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout] 35  | impl_array_newtype!(ChainCode, u8, 32);
[INFO] [stdout]     | -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/internal_macros.rs:128:26
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 for i in 0..$len {
[INFO] [stdout]     |                          ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/bip32.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout] 41  | impl_array_newtype!(Fingerprint, u8, 4);
[INFO] [stdout]     | --------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:185:21
[INFO] [stdout]     |
[INFO] [stdout] 185 |                 inp[0..inp.len() - 1].parse().map_err(|_| Error::InvalidChildNumberFormat)?
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:429:54
[INFO] [stdout]     |
[INFO] [stdout] 429 |             chain_code: ChainCode::from(&hmac_result[32..]),
[INFO] [stdout]     |                                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:480:54
[INFO] [stdout]     |
[INFO] [stdout] 480 |             chain_code: ChainCode::from(&hmac_result[32..])
[INFO] [stdout]     |                                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:491:50
[INFO] [stdout]     |
[INFO] [stdout] 491 |         Fingerprint::from(&self.identifier(secp)[0..4])
[INFO] [stdout]     |                                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:543:63
[INFO] [stdout]     |
[INFO] [stdout] 543 |                 let chain_code = ChainCode::from(&hmac_result[32..]);
[INFO] [stdout]     |                                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:578:46
[INFO] [stdout]     |
[INFO] [stdout] 578 |         Fingerprint::from(&self.identifier()[0..4])
[INFO] [stdout]     |                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:585:13
[INFO] [stdout]     |
[INFO] [stdout] 585 |         ret[0..4].copy_from_slice(&match self.network {
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:590:13
[INFO] [stdout]     |
[INFO] [stdout] 590 |         ret[5..9].copy_from_slice(&self.parent_fingerprint[..]);
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:592:39
[INFO] [stdout]     |
[INFO] [stdout] 592 |         BigEndian::write_u32(&mut ret[9..13], u32::from(self.child_number));
[INFO] [stdout]     |                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:594:13
[INFO] [stdout]     |
[INFO] [stdout] 594 |         ret[13..45].copy_from_slice(&self.chain_code[..]);
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:596:13
[INFO] [stdout]     |
[INFO] [stdout] 596 |         ret[46..78].copy_from_slice(&self.private_key[..]);
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:611:45
[INFO] [stdout]     |
[INFO] [stdout] 611 |         let cn_int: u32 = Cursor::new(&data[9..13]).read_u32::<BigEndian>().unwrap();
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:614:32
[INFO] [stdout]     |
[INFO] [stdout] 614 |         let network = if &data[0..4] == [0x04u8, 0x88, 0xAD, 0xE4] {
[INFO] [stdout]     |                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:616:25
[INFO] [stdout]     |
[INFO] [stdout] 616 |         } else if &data[0..4] == [0x04u8, 0x35, 0x83, 0x94] {
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:619:61
[INFO] [stdout]     |
[INFO] [stdout] 619 |             return Err(base58::Error::InvalidVersion((&data[0..4]).to_vec()));
[INFO] [stdout]     |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:625:57
[INFO] [stdout]     |
[INFO] [stdout] 625 |             parent_fingerprint: Fingerprint::from(&data[5..9]),
[INFO] [stdout]     |                                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:627:47
[INFO] [stdout]     |
[INFO] [stdout] 627 |             chain_code: ChainCode::from(&data[13..45]),
[INFO] [stdout]     |                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:632:27
[INFO] [stdout]     |
[INFO] [stdout] 632 |                     &data[46..78]
[INFO] [stdout]     |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:644:13
[INFO] [stdout]     |
[INFO] [stdout] 644 |         ret[0..4].copy_from_slice(&match self.network {
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:649:13
[INFO] [stdout]     |
[INFO] [stdout] 649 |         ret[5..9].copy_from_slice(&self.parent_fingerprint[..]);
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:651:39
[INFO] [stdout]     |
[INFO] [stdout] 651 |         BigEndian::write_u32(&mut ret[9..13], u32::from(self.child_number));
[INFO] [stdout]     |                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:653:13
[INFO] [stdout]     |
[INFO] [stdout] 653 |         ret[13..45].copy_from_slice(&self.chain_code[..]);
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:654:13
[INFO] [stdout]     |
[INFO] [stdout] 654 |         ret[45..78].copy_from_slice(&self.public_key.key.serialize()[..]);
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:669:45
[INFO] [stdout]     |
[INFO] [stdout] 669 |         let cn_int: u32 = Cursor::new(&data[9..13]).read_u32::<BigEndian>().unwrap();
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:673:31
[INFO] [stdout]     |
[INFO] [stdout] 673 |             network: if &data[0..4] == [0x04u8, 0x88, 0xB2, 0x1E] {
[INFO] [stdout]     |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:675:29
[INFO] [stdout]     |
[INFO] [stdout] 675 |             } else if &data[0..4] == [0x04u8, 0x35, 0x87, 0xCF] {
[INFO] [stdout]     |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:678:65
[INFO] [stdout]     |
[INFO] [stdout] 678 |                 return Err(base58::Error::InvalidVersion((&data[0..4]).to_vec()));
[INFO] [stdout]     |                                                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:681:57
[INFO] [stdout]     |
[INFO] [stdout] 681 |             parent_fingerprint: Fingerprint::from(&data[5..9]),
[INFO] [stdout]     |                                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:683:47
[INFO] [stdout]     |
[INFO] [stdout] 683 |             chain_code: ChainCode::from(&data[13..45]),
[INFO] [stdout]     |                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:685:36
[INFO] [stdout]     |
[INFO] [stdout] 685 | ...                   &data[45..78]).map_err(|e|
[INFO] [stdout]     |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/util/hash.rs:43:16
[INFO] [stdout]    |
[INFO] [stdout] 43 |     for idx in 0..((data.len() + 1) / 2) {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/merkleblock.rs:362:18
[INFO] [stdout]     |
[INFO] [stdout] 362 |         for p in 0..self.bits.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util/misc.rs:29:14
[INFO] [stdout]    |
[INFO] [stdout] 29 |         b'0' ... b'9' => c - '0' as u8,
[INFO] [stdout]    |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util/misc.rs:30:14
[INFO] [stdout]    |
[INFO] [stdout] 30 |         b'a' ... b'f' => c - 'a' as u8 + 10,
[INFO] [stdout]    |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util/misc.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 31 |         b'A' ... b'F' => c - 'A' as u8 + 10,
[INFO] [stdout]    |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/util/misc.rs:90:22
[INFO] [stdout]    |
[INFO] [stdout] 90 |         if &haystack[i..(i + needle.len())] == needle {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/util/misc.rs:91:22
[INFO] [stdout]    |
[INFO] [stdout] 91 |             for j in i..top {
[INFO] [stdout]    |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/util/psbt/raw.rs:74:18
[INFO] [stdout]    |
[INFO] [stdout] 74 |         for _ in 0..key_byte_size {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/util/psbt/serialize.rs:93:60
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let fprint: Fingerprint = Fingerprint::from(&bytes[0..4]);
[INFO] [stdout]    |                                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/util/psbt/serialize.rs:96:28
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let mut d = &bytes[4..];
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/psbt/mod.rs:136:22
[INFO] [stdout]     |
[INFO] [stdout] 136 |             for _ in 0..inputs_len {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/psbt/mod.rs:148:22
[INFO] [stdout]     |
[INFO] [stdout] 148 |             for _ in 0..outputs_len {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/internal_macros.rs:128:26
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 for i in 0..$len {
[INFO] [stdout]     |                          ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/uint.rs:369:1
[INFO] [stdout]     |
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:53:26
[INFO] [stdout]     |
[INFO] [stdout] 53  |                 for i in 1..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:64:26
[INFO] [stdout]     |
[INFO] [stdout] 64  |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:129:26
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 for i in 0..(2 * $n_words) {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:189:26
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:203:26
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 for i in 0..($n_words - 1) {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:229:26
[INFO] [stdout]     |
[INFO] [stdout] 229 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:244:26
[INFO] [stdout]     |
[INFO] [stdout] 244 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:259:26
[INFO] [stdout]     |
[INFO] [stdout] 259 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:273:26
[INFO] [stdout]     |
[INFO] [stdout] 273 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:288:26
[INFO] [stdout]     |
[INFO] [stdout] 288 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:310:26
[INFO] [stdout]     |
[INFO] [stdout] 310 |                 for i in word_shift..$n_words {
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:360:26
[INFO] [stdout]     |
[INFO] [stdout] 360 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/internal_macros.rs:128:26
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 for i in 0..$len {
[INFO] [stdout]     |                          ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/uint.rs:370:1
[INFO] [stdout]     |
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:53:26
[INFO] [stdout]     |
[INFO] [stdout] 53  |                 for i in 1..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:64:26
[INFO] [stdout]     |
[INFO] [stdout] 64  |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:129:26
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 for i in 0..(2 * $n_words) {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:189:26
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:203:26
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 for i in 0..($n_words - 1) {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:229:26
[INFO] [stdout]     |
[INFO] [stdout] 229 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:244:26
[INFO] [stdout]     |
[INFO] [stdout] 244 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:259:26
[INFO] [stdout]     |
[INFO] [stdout] 259 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:273:26
[INFO] [stdout]     |
[INFO] [stdout] 273 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:288:26
[INFO] [stdout]     |
[INFO] [stdout] 288 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:310:26
[INFO] [stdout]     |
[INFO] [stdout] 310 |                 for i in word_shift..$n_words {
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:360:26
[INFO] [stdout]     |
[INFO] [stdout] 360 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip158.rs:112:21
[INFO] [stdout]     |
[INFO] [stdout] 112 |         header_data[0..32].copy_from_slice(&filter_hash[..]);
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip158.rs:113:21
[INFO] [stdout]     |
[INFO] [stdout] 113 |         header_data[32..64].copy_from_slice(&previous_filter_id[..]);
[INFO] [stdout]     |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip158.rs:158:60
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let k0 = LittleEndian::read_u64(&block_hash_as_int[0..8]);
[INFO] [stdout]     |                                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip158.rs:159:60
[INFO] [stdout]     |
[INFO] [stdout] 159 |         let k1 = LittleEndian::read_u64(&block_hash_as_int[8..16]);
[INFO] [stdout]     |                                                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip158.rs:211:60
[INFO] [stdout]     |
[INFO] [stdout] 211 |         let k0 = LittleEndian::read_u64(&block_hash_as_int[0..8]);
[INFO] [stdout]     |                                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip158.rs:212:60
[INFO] [stdout]     |
[INFO] [stdout] 212 |         let k1 = LittleEndian::read_u64(&block_hash_as_int[8..16]);
[INFO] [stdout]     |                                                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:409:14
[INFO] [stdout]     |
[INFO] [stdout] 409 |             0...0xFC             => { 1 }
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:410:17
[INFO] [stdout]     |
[INFO] [stdout] 410 |             0xFD...0xFFFF        => { 3 }
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:411:20
[INFO] [stdout]     |
[INFO] [stdout] 411 |             0x10000...0xFFFFFFFF => { 5 }
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:421:14
[INFO] [stdout]     |
[INFO] [stdout] 421 |             0...0xFC => {
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:425:17
[INFO] [stdout]     |
[INFO] [stdout] 425 |             0xFD...0xFFFF => {
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:430:20
[INFO] [stdout]     |
[INFO] [stdout] 430 |             0x10000...0xFFFFFFFF => {
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:552:18
[INFO] [stdout]     |
[INFO] [stdout] 552 |         for i in 0..8 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:596:26
[INFO] [stdout]     |
[INFO] [stdout] 596 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 604 | impl_vec!(sha256d::Hash);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:596:26
[INFO] [stdout]     |
[INFO] [stdout] 596 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 605 | impl_vec!(Transaction);
[INFO] [stdout]     | ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:596:26
[INFO] [stdout]     |
[INFO] [stdout] 596 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 606 | impl_vec!(TxOut);
[INFO] [stdout]     | ---------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:596:26
[INFO] [stdout]     |
[INFO] [stdout] 596 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 607 | impl_vec!(TxIn);
[INFO] [stdout]     | --------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:596:26
[INFO] [stdout]     |
[INFO] [stdout] 596 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 608 | impl_vec!(Inventory);
[INFO] [stdout]     | -------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:596:26
[INFO] [stdout]     |
[INFO] [stdout] 596 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 609 | impl_vec!(Vec<u8>);
[INFO] [stdout]     | ------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:596:26
[INFO] [stdout]     |
[INFO] [stdout] 596 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 610 | impl_vec!((u32, Address));
[INFO] [stdout]     | ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:596:26
[INFO] [stdout]     |
[INFO] [stdout] 596 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 611 | impl_vec!(u64);
[INFO] [stdout]     | -------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/network/mod.rs:49:103
[INFO] [stdout]    |
[INFO] [stdout] 49 |             Error::SocketMutexPoisoned | Error::SocketNotConnectedToPeer => f.write_str(error::Error::description(self)),
[INFO] [stdout]    |                                                                                                       ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/blockdata/script.rs:107:35
[INFO] [stdout]     |
[INFO] [stdout] 107 |         f.write_str(error::Error::description(self))
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/mod.rs:78:93
[INFO] [stdout]    |
[INFO] [stdout] 78 |             Error::BlockBadProofOfWork | Error::BlockBadTarget => f.write_str(error::Error::description(self)),
[INFO] [stdout]    |                                                                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/util/amount.rs:105:41
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let desc = ::std::error::Error::description(self);
[INFO] [stdout]     |                                         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/util/bip32.rs:397:50
[INFO] [stdout]     |
[INFO] [stdout] 397 |             Error::Ecdsa(ref e) => error::Error::description(e),
[INFO] [stdout]     |                                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/psbt/error.rs:56:78
[INFO] [stdout]    |
[INFO] [stdout] 56 |             Error::InvalidKey(ref rkey) => write!(f, "{}: {}", error::Error::description(self), rkey),
[INFO] [stdout]    |                                                                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/psbt/error.rs:57:80
[INFO] [stdout]    |
[INFO] [stdout] 57 |             Error::DuplicateKey(ref rkey) => write!(f, "{}: {}", error::Error::description(self), rkey),
[INFO] [stdout]    |                                                                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/psbt/error.rs:58:133
[INFO] [stdout]    |
[INFO] [stdout] 58 | ...a } => write!(f, "{}: expected {}, actual {}", error::Error::description(self), e.txid(), a.txid()),
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/psbt/error.rs:59:89
[INFO] [stdout]    |
[INFO] [stdout] 59 |             Error::NonStandardSigHashType(ref sht) => write!(f, "{}: {}", error::Error::description(self), sht),
[INFO] [stdout]    |                                                                                         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/psbt/error.rs:65:63
[INFO] [stdout]    |
[INFO] [stdout] 65 |             | Error::NoMorePairs => f.write_str(error::Error::description(self))
[INFO] [stdout]    |                                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:105:135
[INFO] [stdout]     |
[INFO] [stdout] 105 | ...a } => write!(f, "{}: expected {}, actual {}", error::Error::description(self), e, a),
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:106:138
[INFO] [stdout]     |
[INFO] [stdout] 106 | ...} => write!(f, "{}: requested {}, maximum {}", error::Error::description(self), r, m),
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:107:128
[INFO] [stdout]     |
[INFO] [stdout] 107 | ...   Error::InvalidChecksum { expected: ref e, actual: ref a } => write!(f, "{}: expected {}, actual {}", error::Error::description(self...
[INFO] [stdout]     |                                                                                                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:108:84
[INFO] [stdout]     |
[INFO] [stdout] 108 |             Error::UnknownNetworkMagic(ref m) => write!(f, "{}: {}", error::Error::description(self), m),
[INFO] [stdout]     |                                                                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:109:76
[INFO] [stdout]     |
[INFO] [stdout] 109 |             Error::ParseFailed(ref e) => write!(f, "{}: {}", error::Error::description(self), e),
[INFO] [stdout]     |                                                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:110:91
[INFO] [stdout]     |
[INFO] [stdout] 110 |             Error::UnsupportedSegwitFlag(ref swflag) => write!(f, "{}: {}", error::Error::description(self), swflag),
[INFO] [stdout]     |                                                                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:111:95
[INFO] [stdout]     |
[INFO] [stdout] 111 |             Error::UnrecognizedNetworkCommand(ref nwcmd) => write!(f, "{}: {}", error::Error::description(self), nwcmd),
[INFO] [stdout]     |                                                                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:112:83
[INFO] [stdout]     |
[INFO] [stdout] 112 |             Error::UnexpectedHexDigit(ref d) => write!(f, "{}: {}", error::Error::description(self), d),
[INFO] [stdout]     |                                                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:343:21
[INFO] [stdout]     |
[INFO] [stdout] 343 |     writer: &'a mut io::Write,
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 343 |     writer: &'a mut dyn io::Write,
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:439:21
[INFO] [stdout]     |
[INFO] [stdout] 439 |     reader: &'a mut io::Read,
[INFO] [stdout]     |                     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 439 |     reader: &'a mut dyn io::Read,
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:477:21
[INFO] [stdout]     |
[INFO] [stdout] 477 |     writer: &'a mut io::Write,
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 477 |     writer: &'a mut dyn io::Write,
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/network/mod.rs:70:32
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blockdata/script.rs:112:32
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn cause(&self) -> Option<&error::Error> { None }
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn cause(&self) -> Option<&dyn error::Error> { None }
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blockdata/script.rs:349:35
[INFO] [stdout]     |
[INFO] [stdout] 349 |     pub fn fmt_asm(&self, f: &mut fmt::Write) -> fmt::Result {
[INFO] [stdout]     |                                   ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 349 |     pub fn fmt_asm(&self, f: &mut dyn fmt::Write) -> fmt::Result {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blockdata/transaction.rs:141:32
[INFO] [stdout]     |
[INFO] [stdout] 141 |     fn cause(&self) -> Option<&::std::error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 141 |     fn cause(&self) -> Option<&dyn (::std::error::Error)> {
[INFO] [stdout]     |                                +++++                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/mod.rs:84:32
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/key.rs:127:37
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn fmt_wif(&self, fmt: &mut fmt::Write) -> fmt::Result {
[INFO] [stdout]     |                                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn fmt_wif(&self, fmt: &mut dyn fmt::Write) -> fmt::Result {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/address.rs:94:32
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn cause(&self) -> Option<&::std::error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn cause(&self) -> Option<&dyn (::std::error::Error)> {
[INFO] [stdout]    |                                +++++                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/amount.rs:225:13
[INFO] [stdout]     |
[INFO] [stdout] 225 |     f: &mut fmt::Write,
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 225 |     f: &mut dyn fmt::Write,
[INFO] [stdout]     |             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/amount.rs:115:32
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/amount.rs:373:40
[INFO] [stdout]     |
[INFO] [stdout] 373 |     pub fn fmt_value_in(&self, f: &mut fmt::Write, denom: Denomination) -> fmt::Result {
[INFO] [stdout]     |                                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 373 |     pub fn fmt_value_in(&self, f: &mut dyn fmt::Write, denom: Denomination) -> fmt::Result {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/amount.rs:670:40
[INFO] [stdout]     |
[INFO] [stdout] 670 |     pub fn fmt_value_in(&self, f: &mut fmt::Write, denom: Denomination) -> fmt::Result {
[INFO] [stdout]     |                                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 670 |     pub fn fmt_value_in(&self, f: &mut dyn fmt::Write, denom: Denomination) -> fmt::Result {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/base58.rs:56:32
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn cause(&self) -> Option<&error::Error> { None }
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn cause(&self) -> Option<&dyn error::Error> { None }
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip32.rs:386:32
[INFO] [stdout]     |
[INFO] [stdout] 386 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 386 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/contracthash.rs:72:32
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:136:69
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub fn match_any(&self, block_hash: &sha256d::Hash, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub fn match_any(&self, block_hash: &sha256d::Hash, query: &mut dyn Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:142:69
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn match_all(&self, block_hash: &sha256d::Hash, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn match_all(&self, block_hash: &sha256d::Hash, query: &mut dyn Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:156:32
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn new(writer: &'a mut io::Write, block: &'a Block) -> BlockFilterWriter<'a> {
[INFO] [stdout]     |                                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn new(writer: &'a mut dyn io::Write, block: &'a Block) -> BlockFilterWriter<'a> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:217:42
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn match_any(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn match_any(&self, reader: &mut dyn io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:217:64
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn match_any(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn match_any(&self, reader: &mut io::Read, query: &mut dyn Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:222:42
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn match_all(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn match_all(&self, reader: &mut dyn io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:222:64
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn match_all(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn match_all(&self, reader: &mut io::Read, query: &mut dyn Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:241:42
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn match_any(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn match_any(&self, reader: &mut dyn io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:241:64
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn match_any(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn match_any(&self, reader: &mut io::Read, query: &mut dyn Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:281:42
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn match_all(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn match_all(&self, reader: &mut dyn io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:281:64
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn match_all(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn match_all(&self, reader: &mut io::Read, query: &mut dyn Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:350:32
[INFO] [stdout]     |
[INFO] [stdout] 350 |     pub fn new(writer: &'a mut io::Write, k0: u64, k1: u64, m: u64, p: u8) -> GCSFilterWriter<'a> {
[INFO] [stdout]     |                                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 350 |     pub fn new(writer: &'a mut dyn io::Write, k0: u64, k1: u64, m: u64, p: u8) -> GCSFilterWriter<'a> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:444:32
[INFO] [stdout]     |
[INFO] [stdout] 444 |     pub fn new(reader: &'a mut io::Read) -> BitStreamReader {
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 444 |     pub fn new(reader: &'a mut dyn io::Read) -> BitStreamReader {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:482:32
[INFO] [stdout]     |
[INFO] [stdout] 482 |     pub fn new(writer: &'a mut io::Write) -> BitStreamWriter {
[INFO] [stdout]     |                                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 482 |     pub fn new(writer: &'a mut dyn io::Write) -> BitStreamWriter {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:118:32
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/network/address.rs:53:17
[INFO] [stdout]    |
[INFO] [stdout] 53 |         if addr[0..3] == ONION {
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/network/message.rs:51:18
[INFO] [stdout]    |
[INFO] [stdout] 51 |         for x in 0..strbytes.len() {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/network/message.rs:236:18
[INFO] [stdout]     |
[INFO] [stdout] 236 |         for _ in 0..len {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/network/stream_reader.rs:65:56
[INFO] [stdout]    |
[INFO] [stdout] 65 |                         self.unparsed.extend(self.data[0..count].iter());
[INFO] [stdout]    |                                                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/network/stream_reader.rs:271:53
[INFO] [stdout]     |
[INFO] [stdout] 271 |             MSG_VERSION[..24].to_vec(), MSG_VERSION[24..].to_vec()
[INFO] [stdout]     |                                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/network/stream_reader.rs:289:53
[INFO] [stdout]     |
[INFO] [stdout] 289 |             MSG_VERSION[..23].to_vec(), MSG_VERSION[23..].to_vec(),
[INFO] [stdout]     |                                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/network/stream_reader.rs:291:49
[INFO] [stdout]     |
[INFO] [stdout] 291 |             MSG_ALERT[..24].to_vec(), MSG_ALERT[24..].to_vec()
[INFO] [stdout]     |                                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:364:49
[INFO] [stdout]     |
[INFO] [stdout] 364 |                         match read_uint(&self.0[index..], 1) {
[INFO] [stdout]     |                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:374:49
[INFO] [stdout]     |
[INFO] [stdout] 374 |                         match read_uint(&self.0[index..], 2) {
[INFO] [stdout]     |                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:384:49
[INFO] [stdout]     |
[INFO] [stdout] 384 |                         match read_uint(&self.0[index..], 4) {
[INFO] [stdout]     |                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:404:39
[INFO] [stdout]     |
[INFO] [stdout] 404 |                     for ch in &self.0[index..index + data_len] {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:470:66
[INFO] [stdout]     |
[INFO] [stdout] 470 |                 let ret = Some(Instruction::PushBytes(&self.data[1..n+1]));
[INFO] [stdout]     |                                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:471:40
[INFO] [stdout]     |
[INFO] [stdout] 471 |                 self.data = &self.data[n + 1..];
[INFO] [stdout]     |                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:479:52
[INFO] [stdout]     |
[INFO] [stdout] 479 |                 let n = match read_uint(&self.data[1..], 1) {
[INFO] [stdout]     |                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:494:66
[INFO] [stdout]     |
[INFO] [stdout] 494 |                 let ret = Some(Instruction::PushBytes(&self.data[2..n+2]));
[INFO] [stdout]     |                                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:495:40
[INFO] [stdout]     |
[INFO] [stdout] 495 |                 self.data = &self.data[n + 2..];
[INFO] [stdout]     |                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:503:52
[INFO] [stdout]     |
[INFO] [stdout] 503 |                 let n = match read_uint(&self.data[1..], 2) {
[INFO] [stdout]     |                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:518:66
[INFO] [stdout]     |
[INFO] [stdout] 518 |                 let ret = Some(Instruction::PushBytes(&self.data[3..n + 3]));
[INFO] [stdout]     |                                                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:519:40
[INFO] [stdout]     |
[INFO] [stdout] 519 |                 self.data = &self.data[n + 3..];
[INFO] [stdout]     |                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:527:52
[INFO] [stdout]     |
[INFO] [stdout] 527 |                 let n = match read_uint(&self.data[1..], 4) {
[INFO] [stdout]     |                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:542:66
[INFO] [stdout]     |
[INFO] [stdout] 542 |                 let ret = Some(Instruction::PushBytes(&self.data[5..n + 5]));
[INFO] [stdout]     |                                                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:543:40
[INFO] [stdout]     |
[INFO] [stdout] 543 |                 self.data = &self.data[n + 5..];
[INFO] [stdout]     |                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:549:40
[INFO] [stdout]     |
[INFO] [stdout] 549 |                 self.data = &self.data[1..];
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:797:47
[INFO] [stdout]     |
[INFO] [stdout] 797 |         let key = PublicKey::from_str(&keystr[2..]).unwrap();
[INFO] [stdout]     |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/script.rs:800:47
[INFO] [stdout]     |
[INFO] [stdout] 800 |         let key = PublicKey::from_str(&keystr[2..]).unwrap();
[INFO] [stdout]     |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/blockdata/transaction.rs:179:33
[INFO] [stdout]     |
[INFO] [stdout] 179 |             vout: parse_vout(&s[colon+1..])?,
[INFO] [stdout]     |                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/blockdata/block.rs:84:41
[INFO] [stdout]    |
[INFO] [stdout] 84 |                         o.script_pubkey[0..6] == [0x6a, 0x24, 0xaa, 0x21, 0xa9, 0xed] }) {
[INFO] [stdout]    |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/blockdata/block.rs:85:111
[INFO] [stdout]    |
[INFO] [stdout] 85 |                     let commitment = sha256d::Hash::from_slice(&coinbase.output[pos].script_pubkey.as_bytes()[6..38]).unwrap();
[INFO] [stdout]    |                                                                                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/key.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |         ret[1..33].copy_from_slice(&self.key[..]);
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/key.rs:170:57
[INFO] [stdout]     |
[INFO] [stdout] 170 |             key: secp256k1::SecretKey::from_slice(&data[1..33])?,
[INFO] [stdout]     |                                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/address.rs:178:69
[INFO] [stdout]     |
[INFO] [stdout] 178 |             Payload::PubkeyHash(Hash::from_slice(&script.as_bytes()[3..23]).unwrap())
[INFO] [stdout]     |                                                                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/address.rs:180:69
[INFO] [stdout]     |
[INFO] [stdout] 180 |             Payload::ScriptHash(Hash::from_slice(&script.as_bytes()[2..22]).unwrap())
[INFO] [stdout]     |                                                                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util/address.rs:194:44
[INFO] [stdout]     |
[INFO] [stdout] 194 |                 program: script.as_bytes()[2..].to_vec(),
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util/address.rs:375:26
[INFO] [stdout]     |
[INFO] [stdout] 375 |                 prefixed[1..].copy_from_slice(&hash[..]);
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util/address.rs:384:26
[INFO] [stdout]     |
[INFO] [stdout] 384 |                 prefixed[1..].copy_from_slice(&hash[..]);
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util/address.rs:473:69
[INFO] [stdout]     |
[INFO] [stdout] 473 |                 Payload::PubkeyHash(hash160::Hash::from_slice(&data[1..]).unwrap()),
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util/address.rs:477:69
[INFO] [stdout]     |
[INFO] [stdout] 477 |                 Payload::ScriptHash(hash160::Hash::from_slice(&data[1..]).unwrap()),
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util/address.rs:481:69
[INFO] [stdout]     |
[INFO] [stdout] 481 |                 Payload::PubkeyHash(hash160::Hash::from_slice(&data[1..]).unwrap()),
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util/address.rs:485:69
[INFO] [stdout]     |
[INFO] [stdout] 485 |                 Payload::ScriptHash(hash160::Hash::from_slice(&data[1..]).unwrap()),
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util/amount.rs:155:16
[INFO] [stdout]     |
[INFO] [stdout] 155 |         s = &s[1..];
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/amount.rs:171:20
[INFO] [stdout]     |
[INFO] [stdout] 171 |             s = &s[0..s.len() - last_n];
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/util/amount.rs:182:16
[INFO] [stdout]     |
[INFO] [stdout] 182 |             '0'...'9' => {
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/amount.rs:209:14
[INFO] [stdout]     |
[INFO] [stdout] 209 |     for _ in 0..scale_factor {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util/amount.rs:241:37
[INFO] [stdout]     |
[INFO] [stdout] 241 |             write!(f, "0.{}", &real[real.len() - nb_decimals..])?;
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/amount.rs:246:23
[INFO] [stdout]     |
[INFO] [stdout] 246 |                 &real[0..(real.len() - nb_decimals)],
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util/amount.rs:247:23
[INFO] [stdout]     |
[INFO] [stdout] 247 |                 &real[real.len() - nb_decimals..]
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/util/base58.rs:97:20
[INFO] [stdout]    |
[INFO] [stdout] 97 |         self.stack[0..self.len].iter().chain(self.heap.iter())
[INFO] [stdout]    |                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/base58.rs:102:20
[INFO] [stdout]     |
[INFO] [stdout] 102 |         self.stack[0..self.len].iter_mut().chain(self.heap.iter_mut())
[INFO] [stdout]     |                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/base58.rs:166:46
[INFO] [stdout]     |
[INFO] [stdout] 166 |     let actual = LittleEndian::read_u32(&ret[ck_start..(ck_start + 4)]);
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/base58.rs:205:14
[INFO] [stdout]     |
[INFO] [stdout] 205 |     for _ in 0..leading_zero_count {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/base58.rs:238:29
[INFO] [stdout]     |
[INFO] [stdout] 238 |             .chain(checksum[0..4].iter().cloned())
[INFO] [stdout]     |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/base58.rs:248:25
[INFO] [stdout]     |
[INFO] [stdout] 248 |         .chain(checksum[0..4].iter().cloned());
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/internal_macros.rs:128:26
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 for i in 0..$len {
[INFO] [stdout]     |                          ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/bip32.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout] 35  | impl_array_newtype!(ChainCode, u8, 32);
[INFO] [stdout]     | -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/internal_macros.rs:128:26
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 for i in 0..$len {
[INFO] [stdout]     |                          ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/bip32.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout] 41  | impl_array_newtype!(Fingerprint, u8, 4);
[INFO] [stdout]     | --------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:185:21
[INFO] [stdout]     |
[INFO] [stdout] 185 |                 inp[0..inp.len() - 1].parse().map_err(|_| Error::InvalidChildNumberFormat)?
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:429:54
[INFO] [stdout]     |
[INFO] [stdout] 429 |             chain_code: ChainCode::from(&hmac_result[32..]),
[INFO] [stdout]     |                                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:480:54
[INFO] [stdout]     |
[INFO] [stdout] 480 |             chain_code: ChainCode::from(&hmac_result[32..])
[INFO] [stdout]     |                                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:491:50
[INFO] [stdout]     |
[INFO] [stdout] 491 |         Fingerprint::from(&self.identifier(secp)[0..4])
[INFO] [stdout]     |                                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:543:63
[INFO] [stdout]     |
[INFO] [stdout] 543 |                 let chain_code = ChainCode::from(&hmac_result[32..]);
[INFO] [stdout]     |                                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:578:46
[INFO] [stdout]     |
[INFO] [stdout] 578 |         Fingerprint::from(&self.identifier()[0..4])
[INFO] [stdout]     |                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:585:13
[INFO] [stdout]     |
[INFO] [stdout] 585 |         ret[0..4].copy_from_slice(&match self.network {
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:590:13
[INFO] [stdout]     |
[INFO] [stdout] 590 |         ret[5..9].copy_from_slice(&self.parent_fingerprint[..]);
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:592:39
[INFO] [stdout]     |
[INFO] [stdout] 592 |         BigEndian::write_u32(&mut ret[9..13], u32::from(self.child_number));
[INFO] [stdout]     |                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:594:13
[INFO] [stdout]     |
[INFO] [stdout] 594 |         ret[13..45].copy_from_slice(&self.chain_code[..]);
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:596:13
[INFO] [stdout]     |
[INFO] [stdout] 596 |         ret[46..78].copy_from_slice(&self.private_key[..]);
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:611:45
[INFO] [stdout]     |
[INFO] [stdout] 611 |         let cn_int: u32 = Cursor::new(&data[9..13]).read_u32::<BigEndian>().unwrap();
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:614:32
[INFO] [stdout]     |
[INFO] [stdout] 614 |         let network = if &data[0..4] == [0x04u8, 0x88, 0xAD, 0xE4] {
[INFO] [stdout]     |                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:616:25
[INFO] [stdout]     |
[INFO] [stdout] 616 |         } else if &data[0..4] == [0x04u8, 0x35, 0x83, 0x94] {
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:619:61
[INFO] [stdout]     |
[INFO] [stdout] 619 |             return Err(base58::Error::InvalidVersion((&data[0..4]).to_vec()));
[INFO] [stdout]     |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:625:57
[INFO] [stdout]     |
[INFO] [stdout] 625 |             parent_fingerprint: Fingerprint::from(&data[5..9]),
[INFO] [stdout]     |                                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:627:47
[INFO] [stdout]     |
[INFO] [stdout] 627 |             chain_code: ChainCode::from(&data[13..45]),
[INFO] [stdout]     |                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:632:27
[INFO] [stdout]     |
[INFO] [stdout] 632 |                     &data[46..78]
[INFO] [stdout]     |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:644:13
[INFO] [stdout]     |
[INFO] [stdout] 644 |         ret[0..4].copy_from_slice(&match self.network {
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:649:13
[INFO] [stdout]     |
[INFO] [stdout] 649 |         ret[5..9].copy_from_slice(&self.parent_fingerprint[..]);
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:651:39
[INFO] [stdout]     |
[INFO] [stdout] 651 |         BigEndian::write_u32(&mut ret[9..13], u32::from(self.child_number));
[INFO] [stdout]     |                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:653:13
[INFO] [stdout]     |
[INFO] [stdout] 653 |         ret[13..45].copy_from_slice(&self.chain_code[..]);
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:654:13
[INFO] [stdout]     |
[INFO] [stdout] 654 |         ret[45..78].copy_from_slice(&self.public_key.key.serialize()[..]);
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:669:45
[INFO] [stdout]     |
[INFO] [stdout] 669 |         let cn_int: u32 = Cursor::new(&data[9..13]).read_u32::<BigEndian>().unwrap();
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:673:31
[INFO] [stdout]     |
[INFO] [stdout] 673 |             network: if &data[0..4] == [0x04u8, 0x88, 0xB2, 0x1E] {
[INFO] [stdout]     |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:675:29
[INFO] [stdout]     |
[INFO] [stdout] 675 |             } else if &data[0..4] == [0x04u8, 0x35, 0x87, 0xCF] {
[INFO] [stdout]     |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:678:65
[INFO] [stdout]     |
[INFO] [stdout] 678 |                 return Err(base58::Error::InvalidVersion((&data[0..4]).to_vec()));
[INFO] [stdout]     |                                                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:681:57
[INFO] [stdout]     |
[INFO] [stdout] 681 |             parent_fingerprint: Fingerprint::from(&data[5..9]),
[INFO] [stdout]     |                                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:683:47
[INFO] [stdout]     |
[INFO] [stdout] 683 |             chain_code: ChainCode::from(&data[13..45]),
[INFO] [stdout]     |                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip32.rs:685:36
[INFO] [stdout]     |
[INFO] [stdout] 685 | ...                   &data[45..78]).map_err(|e|
[INFO] [stdout]     |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/util/hash.rs:43:16
[INFO] [stdout]    |
[INFO] [stdout] 43 |     for idx in 0..((data.len() + 1) / 2) {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/merkleblock.rs:362:18
[INFO] [stdout]     |
[INFO] [stdout] 362 |         for p in 0..self.bits.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/merkleblock.rs:514:26
[INFO] [stdout]     |
[INFO] [stdout] 514 |             let txids = (1..num_tx + 1) // change to `1..=num_tx` when min Rust >= 1.26.0
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/merkleblock.rs:528:24
[INFO] [stdout]     |
[INFO] [stdout] 528 |             for att in 1..15 {
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/merkleblock.rs:531:26
[INFO] [stdout]     |
[INFO] [stdout] 531 |                 for j in 0..num_tx {
[INFO] [stdout]     |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/merkleblock.rs:572:26
[INFO] [stdout]     |
[INFO] [stdout] 572 |                 for _ in 0..4 {
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util/misc.rs:29:14
[INFO] [stdout]    |
[INFO] [stdout] 29 |         b'0' ... b'9' => c - '0' as u8,
[INFO] [stdout]    |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util/misc.rs:30:14
[INFO] [stdout]    |
[INFO] [stdout] 30 |         b'a' ... b'f' => c - 'a' as u8 + 10,
[INFO] [stdout]    |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util/misc.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 31 |         b'A' ... b'F' => c - 'A' as u8 + 10,
[INFO] [stdout]    |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/util/misc.rs:90:22
[INFO] [stdout]    |
[INFO] [stdout] 90 |         if &haystack[i..(i + needle.len())] == needle {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/util/misc.rs:91:22
[INFO] [stdout]    |
[INFO] [stdout] 91 |             for j in i..top {
[INFO] [stdout]    |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/util/psbt/raw.rs:74:18
[INFO] [stdout]    |
[INFO] [stdout] 74 |         for _ in 0..key_byte_size {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/util/psbt/serialize.rs:93:60
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let fprint: Fingerprint = Fingerprint::from(&bytes[0..4]);
[INFO] [stdout]    |                                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/util/psbt/serialize.rs:96:28
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let mut d = &bytes[4..];
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/psbt/mod.rs:136:22
[INFO] [stdout]     |
[INFO] [stdout] 136 |             for _ in 0..inputs_len {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/psbt/mod.rs:148:22
[INFO] [stdout]     |
[INFO] [stdout] 148 |             for _ in 0..outputs_len {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/internal_macros.rs:128:26
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 for i in 0..$len {
[INFO] [stdout]     |                          ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/uint.rs:369:1
[INFO] [stdout]     |
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:53:26
[INFO] [stdout]     |
[INFO] [stdout] 53  |                 for i in 1..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:64:26
[INFO] [stdout]     |
[INFO] [stdout] 64  |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:129:26
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 for i in 0..(2 * $n_words) {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:189:26
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:203:26
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 for i in 0..($n_words - 1) {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:229:26
[INFO] [stdout]     |
[INFO] [stdout] 229 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:244:26
[INFO] [stdout]     |
[INFO] [stdout] 244 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:259:26
[INFO] [stdout]     |
[INFO] [stdout] 259 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:273:26
[INFO] [stdout]     |
[INFO] [stdout] 273 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:288:26
[INFO] [stdout]     |
[INFO] [stdout] 288 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:310:26
[INFO] [stdout]     |
[INFO] [stdout] 310 |                 for i in word_shift..$n_words {
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:360:26
[INFO] [stdout]     |
[INFO] [stdout] 360 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/internal_macros.rs:128:26
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 for i in 0..$len {
[INFO] [stdout]     |                          ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/uint.rs:370:1
[INFO] [stdout]     |
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:53:26
[INFO] [stdout]     |
[INFO] [stdout] 53  |                 for i in 1..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:64:26
[INFO] [stdout]     |
[INFO] [stdout] 64  |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:129:26
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 for i in 0..(2 * $n_words) {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:189:26
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:203:26
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 for i in 0..($n_words - 1) {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:229:26
[INFO] [stdout]     |
[INFO] [stdout] 229 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:244:26
[INFO] [stdout]     |
[INFO] [stdout] 244 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:259:26
[INFO] [stdout]     |
[INFO] [stdout] 259 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:273:26
[INFO] [stdout]     |
[INFO] [stdout] 273 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:288:26
[INFO] [stdout]     |
[INFO] [stdout] 288 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:310:26
[INFO] [stdout]     |
[INFO] [stdout] 310 |                 for i in word_shift..$n_words {
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/uint.rs:360:26
[INFO] [stdout]     |
[INFO] [stdout] 360 |                 for i in 0..$n_words {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip158.rs:112:21
[INFO] [stdout]     |
[INFO] [stdout] 112 |         header_data[0..32].copy_from_slice(&filter_hash[..]);
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip158.rs:113:21
[INFO] [stdout]     |
[INFO] [stdout] 113 |         header_data[32..64].copy_from_slice(&previous_filter_id[..]);
[INFO] [stdout]     |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip158.rs:158:60
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let k0 = LittleEndian::read_u64(&block_hash_as_int[0..8]);
[INFO] [stdout]     |                                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip158.rs:159:60
[INFO] [stdout]     |
[INFO] [stdout] 159 |         let k1 = LittleEndian::read_u64(&block_hash_as_int[8..16]);
[INFO] [stdout]     |                                                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip158.rs:211:60
[INFO] [stdout]     |
[INFO] [stdout] 211 |         let k0 = LittleEndian::read_u64(&block_hash_as_int[0..8]);
[INFO] [stdout]     |                                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util/bip158.rs:212:60
[INFO] [stdout]     |
[INFO] [stdout] 212 |         let k1 = LittleEndian::read_u64(&block_hash_as_int[8..16]);
[INFO] [stdout]     |                                                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:409:14
[INFO] [stdout]     |
[INFO] [stdout] 409 |             0...0xFC             => { 1 }
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:410:17
[INFO] [stdout]     |
[INFO] [stdout] 410 |             0xFD...0xFFFF        => { 3 }
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:411:20
[INFO] [stdout]     |
[INFO] [stdout] 411 |             0x10000...0xFFFFFFFF => { 5 }
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:421:14
[INFO] [stdout]     |
[INFO] [stdout] 421 |             0...0xFC => {
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:425:17
[INFO] [stdout]     |
[INFO] [stdout] 425 |             0xFD...0xFFFF => {
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:430:20
[INFO] [stdout]     |
[INFO] [stdout] 430 |             0x10000...0xFFFFFFFF => {
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:552:18
[INFO] [stdout]     |
[INFO] [stdout] 552 |         for i in 0..8 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:596:26
[INFO] [stdout]     |
[INFO] [stdout] 596 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 604 | impl_vec!(sha256d::Hash);
[INFO] [stdout]     | ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:596:26
[INFO] [stdout]     |
[INFO] [stdout] 596 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 605 | impl_vec!(Transaction);
[INFO] [stdout]     | ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:596:26
[INFO] [stdout]     |
[INFO] [stdout] 596 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 606 | impl_vec!(TxOut);
[INFO] [stdout]     | ---------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:596:26
[INFO] [stdout]     |
[INFO] [stdout] 596 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 607 | impl_vec!(TxIn);
[INFO] [stdout]     | --------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:596:26
[INFO] [stdout]     |
[INFO] [stdout] 596 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 608 | impl_vec!(Inventory);
[INFO] [stdout]     | -------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:596:26
[INFO] [stdout]     |
[INFO] [stdout] 596 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 609 | impl_vec!(Vec<u8>);
[INFO] [stdout]     | ------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:596:26
[INFO] [stdout]     |
[INFO] [stdout] 596 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 610 | impl_vec!((u32, Address));
[INFO] [stdout]     | ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/consensus/encode.rs:596:26
[INFO] [stdout]     |
[INFO] [stdout] 596 |                 for _ in 0..len {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 611 | impl_vec!(u64);
[INFO] [stdout]     | -------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/network/mod.rs:49:103
[INFO] [stdout]    |
[INFO] [stdout] 49 |             Error::SocketMutexPoisoned | Error::SocketNotConnectedToPeer => f.write_str(error::Error::description(self)),
[INFO] [stdout]    |                                                                                                       ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/network/mod.rs:64:35
[INFO] [stdout]    |
[INFO] [stdout] 64 |             Error::Io(ref e) => e.description(),
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/blockdata/script.rs:107:35
[INFO] [stdout]     |
[INFO] [stdout] 107 |         f.write_str(error::Error::description(self))
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/mod.rs:78:93
[INFO] [stdout]    |
[INFO] [stdout] 78 |             Error::BlockBadProofOfWork | Error::BlockBadTarget => f.write_str(error::Error::description(self)),
[INFO] [stdout]    |                                                                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/util/amount.rs:105:41
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let desc = ::std::error::Error::description(self);
[INFO] [stdout]     |                                         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/util/bip32.rs:397:50
[INFO] [stdout]     |
[INFO] [stdout] 397 |             Error::Ecdsa(ref e) => error::Error::description(e),
[INFO] [stdout]     |                                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/psbt/error.rs:56:78
[INFO] [stdout]    |
[INFO] [stdout] 56 |             Error::InvalidKey(ref rkey) => write!(f, "{}: {}", error::Error::description(self), rkey),
[INFO] [stdout]    |                                                                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/psbt/error.rs:57:80
[INFO] [stdout]    |
[INFO] [stdout] 57 |             Error::DuplicateKey(ref rkey) => write!(f, "{}: {}", error::Error::description(self), rkey),
[INFO] [stdout]    |                                                                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/psbt/error.rs:58:133
[INFO] [stdout]    |
[INFO] [stdout] 58 | ...a } => write!(f, "{}: expected {}, actual {}", error::Error::description(self), e.txid(), a.txid()),
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/psbt/error.rs:59:89
[INFO] [stdout]    |
[INFO] [stdout] 59 |             Error::NonStandardSigHashType(ref sht) => write!(f, "{}: {}", error::Error::description(self), sht),
[INFO] [stdout]    |                                                                                         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/psbt/error.rs:65:63
[INFO] [stdout]    |
[INFO] [stdout] 65 |             | Error::NoMorePairs => f.write_str(error::Error::description(self))
[INFO] [stdout]    |                                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:105:135
[INFO] [stdout]     |
[INFO] [stdout] 105 | ...a } => write!(f, "{}: expected {}, actual {}", error::Error::description(self), e, a),
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:106:138
[INFO] [stdout]     |
[INFO] [stdout] 106 | ...} => write!(f, "{}: requested {}, maximum {}", error::Error::description(self), r, m),
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:107:128
[INFO] [stdout]     |
[INFO] [stdout] 107 | ...   Error::InvalidChecksum { expected: ref e, actual: ref a } => write!(f, "{}: expected {}, actual {}", error::Error::description(self...
[INFO] [stdout]     |                                                                                                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:108:84
[INFO] [stdout]     |
[INFO] [stdout] 108 |             Error::UnknownNetworkMagic(ref m) => write!(f, "{}: {}", error::Error::description(self), m),
[INFO] [stdout]     |                                                                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:109:76
[INFO] [stdout]     |
[INFO] [stdout] 109 |             Error::ParseFailed(ref e) => write!(f, "{}: {}", error::Error::description(self), e),
[INFO] [stdout]     |                                                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:110:91
[INFO] [stdout]     |
[INFO] [stdout] 110 |             Error::UnsupportedSegwitFlag(ref swflag) => write!(f, "{}: {}", error::Error::description(self), swflag),
[INFO] [stdout]     |                                                                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:111:95
[INFO] [stdout]     |
[INFO] [stdout] 111 |             Error::UnrecognizedNetworkCommand(ref nwcmd) => write!(f, "{}: {}", error::Error::description(self), nwcmd),
[INFO] [stdout]     |                                                                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:112:83
[INFO] [stdout]     |
[INFO] [stdout] 112 |             Error::UnexpectedHexDigit(ref d) => write!(f, "{}: {}", error::Error::description(self), d),
[INFO] [stdout]     |                                                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:343:21
[INFO] [stdout]     |
[INFO] [stdout] 343 |     writer: &'a mut io::Write,
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 343 |     writer: &'a mut dyn io::Write,
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:439:21
[INFO] [stdout]     |
[INFO] [stdout] 439 |     reader: &'a mut io::Read,
[INFO] [stdout]     |                     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 439 |     reader: &'a mut dyn io::Read,
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:477:21
[INFO] [stdout]     |
[INFO] [stdout] 477 |     writer: &'a mut io::Write,
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 477 |     writer: &'a mut dyn io::Write,
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/network/mod.rs:70:32
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blockdata/script.rs:112:32
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn cause(&self) -> Option<&error::Error> { None }
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn cause(&self) -> Option<&dyn error::Error> { None }
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blockdata/script.rs:349:35
[INFO] [stdout]     |
[INFO] [stdout] 349 |     pub fn fmt_asm(&self, f: &mut fmt::Write) -> fmt::Result {
[INFO] [stdout]     |                                   ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 349 |     pub fn fmt_asm(&self, f: &mut dyn fmt::Write) -> fmt::Result {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blockdata/transaction.rs:141:32
[INFO] [stdout]     |
[INFO] [stdout] 141 |     fn cause(&self) -> Option<&::std::error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 141 |     fn cause(&self) -> Option<&dyn (::std::error::Error)> {
[INFO] [stdout]     |                                +++++                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/mod.rs:84:32
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/key.rs:127:37
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn fmt_wif(&self, fmt: &mut fmt::Write) -> fmt::Result {
[INFO] [stdout]     |                                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn fmt_wif(&self, fmt: &mut dyn fmt::Write) -> fmt::Result {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/address.rs:94:32
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn cause(&self) -> Option<&::std::error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn cause(&self) -> Option<&dyn (::std::error::Error)> {
[INFO] [stdout]    |                                +++++                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/amount.rs:225:13
[INFO] [stdout]     |
[INFO] [stdout] 225 |     f: &mut fmt::Write,
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 225 |     f: &mut dyn fmt::Write,
[INFO] [stdout]     |             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/amount.rs:115:32
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/amount.rs:373:40
[INFO] [stdout]     |
[INFO] [stdout] 373 |     pub fn fmt_value_in(&self, f: &mut fmt::Write, denom: Denomination) -> fmt::Result {
[INFO] [stdout]     |                                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 373 |     pub fn fmt_value_in(&self, f: &mut dyn fmt::Write, denom: Denomination) -> fmt::Result {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/amount.rs:670:40
[INFO] [stdout]     |
[INFO] [stdout] 670 |     pub fn fmt_value_in(&self, f: &mut fmt::Write, denom: Denomination) -> fmt::Result {
[INFO] [stdout]     |                                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 670 |     pub fn fmt_value_in(&self, f: &mut dyn fmt::Write, denom: Denomination) -> fmt::Result {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/base58.rs:56:32
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn cause(&self) -> Option<&error::Error> { None }
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn cause(&self) -> Option<&dyn error::Error> { None }
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip32.rs:386:32
[INFO] [stdout]     |
[INFO] [stdout] 386 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 386 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/contracthash.rs:72:32
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:136:69
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub fn match_any(&self, block_hash: &sha256d::Hash, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub fn match_any(&self, block_hash: &sha256d::Hash, query: &mut dyn Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:142:69
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn match_all(&self, block_hash: &sha256d::Hash, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn match_all(&self, block_hash: &sha256d::Hash, query: &mut dyn Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:156:32
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn new(writer: &'a mut io::Write, block: &'a Block) -> BlockFilterWriter<'a> {
[INFO] [stdout]     |                                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn new(writer: &'a mut dyn io::Write, block: &'a Block) -> BlockFilterWriter<'a> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:217:42
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn match_any(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn match_any(&self, reader: &mut dyn io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:217:64
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn match_any(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn match_any(&self, reader: &mut io::Read, query: &mut dyn Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:222:42
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn match_all(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn match_all(&self, reader: &mut dyn io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:222:64
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn match_all(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn match_all(&self, reader: &mut io::Read, query: &mut dyn Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:241:42
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn match_any(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn match_any(&self, reader: &mut dyn io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:241:64
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn match_any(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn match_any(&self, reader: &mut io::Read, query: &mut dyn Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:281:42
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn match_all(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn match_all(&self, reader: &mut dyn io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:281:64
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn match_all(&self, reader: &mut io::Read, query: &mut Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn match_all(&self, reader: &mut io::Read, query: &mut dyn Iterator<Item=&[u8]>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:350:32
[INFO] [stdout]     |
[INFO] [stdout] 350 |     pub fn new(writer: &'a mut io::Write, k0: u64, k1: u64, m: u64, p: u8) -> GCSFilterWriter<'a> {
[INFO] [stdout]     |                                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 350 |     pub fn new(writer: &'a mut dyn io::Write, k0: u64, k1: u64, m: u64, p: u8) -> GCSFilterWriter<'a> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:444:32
[INFO] [stdout]     |
[INFO] [stdout] 444 |     pub fn new(reader: &'a mut io::Read) -> BitStreamReader {
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 444 |     pub fn new(reader: &'a mut dyn io::Read) -> BitStreamReader {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip158.rs:482:32
[INFO] [stdout]     |
[INFO] [stdout] 482 |     pub fn new(writer: &'a mut io::Write) -> BitStreamWriter {
[INFO] [stdout]     |                                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 482 |     pub fn new(writer: &'a mut dyn io::Write) -> BitStreamWriter {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:118:32
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/network/mod.rs:64:35
[INFO] [stdout]    |
[INFO] [stdout] 64 |             Error::Io(ref e) => e.description(),
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/uint.rs:335:18
[INFO] [stdout]     |
[INFO] [stdout] 335 |                 <fmt::Debug>::fmt(self, f)
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/uint.rs:335:18
[INFO] [stdout]     |
[INFO] [stdout] 335 |                 <fmt::Debug>::fmt(self, f)
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/mod.rs:94:39
[INFO] [stdout]    |
[INFO] [stdout] 94 |             Error::Encode(ref e) => e.description(),
[INFO] [stdout]    |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/mod.rs:95:40
[INFO] [stdout]    |
[INFO] [stdout] 95 |             Error::Network(ref e) => e.description(),
[INFO] [stdout]    |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:138:35
[INFO] [stdout]     |
[INFO] [stdout] 138 |             Error::Io(ref e) => e.description(),
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:139:39
[INFO] [stdout]     |
[INFO] [stdout] 139 |             Error::Base58(ref e) => e.description(),
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:140:42
[INFO] [stdout]     |
[INFO] [stdout] 140 |             Error::ByteOrder(ref e) => e.description(),
[INFO] [stdout]     |                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:141:42
[INFO] [stdout]     |
[INFO] [stdout] 141 |             Error::Secp256k1(ref e) => e.description(),
[INFO] [stdout]     |                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:142:37
[INFO] [stdout]     |
[INFO] [stdout] 142 |             Error::Psbt(ref e) => e.description(),
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `Range` type
[INFO] [stdout]    --> src/internal_macros.rs:177:32
[INFO] [stdout]     |
[INFO] [stdout] 177 |         impl ::std::ops::Index<::std::ops::Range<usize>> for $thing {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/blockdata/script.rs:430:1
[INFO] [stdout]     |
[INFO] [stdout] 430 | impl_index_newtype!(Script, u8);
[INFO] [stdout]     | ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D trait-impl-range`
[INFO] [stdout]     = note: this error originates in the macro `impl_index_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/internal_macros.rs:181:36
[INFO] [stdout]     |
[INFO] [stdout] 181 |             fn index(&self, index: ::std::ops::Range<usize>) -> &[$ty] {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/blockdata/script.rs:430:1
[INFO] [stdout]     |
[INFO] [stdout] 430 | impl_index_newtype!(Script, u8);
[INFO] [stdout]     | ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D explicit-range`
[INFO] [stdout]     = note: this error originates in the macro `impl_index_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeFrom` type
[INFO] [stdout]    --> src/internal_macros.rs:195:32
[INFO] [stdout]     |
[INFO] [stdout] 195 |         impl ::std::ops::Index<::std::ops::RangeFrom<usize>> for $thing {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/blockdata/script.rs:430:1
[INFO] [stdout]     |
[INFO] [stdout] 430 | impl_index_newtype!(Script, u8);
[INFO] [stdout]     | ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `impl_index_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeFrom` type in public function
[INFO] [stdout]    --> src/internal_macros.rs:199:36
[INFO] [stdout]     |
[INFO] [stdout] 199 |             fn index(&self, index: ::std::ops::RangeFrom<usize>) -> &[$ty] {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/blockdata/script.rs:430:1
[INFO] [stdout]     |
[INFO] [stdout] 430 | impl_index_newtype!(Script, u8);
[INFO] [stdout]     | ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `impl_index_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `Range` type
[INFO] [stdout]    --> src/internal_macros.rs:177:32
[INFO] [stdout]     |
[INFO] [stdout] 177 |         impl ::std::ops::Index<::std::ops::Range<usize>> for $thing {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/blockdata/script.rs:686:1
[INFO] [stdout]     |
[INFO] [stdout] 686 | impl_index_newtype!(Builder, u8);
[INFO] [stdout]     | -------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `impl_index_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/internal_macros.rs:181:36
[INFO] [stdout]     |
[INFO] [stdout] 181 |             fn index(&self, index: ::std::ops::Range<usize>) -> &[$ty] {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/blockdata/script.rs:686:1
[INFO] [stdout]     |
[INFO] [stdout] 686 | impl_index_newtype!(Builder, u8);
[INFO] [stdout]     | -------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `impl_index_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeFrom` type
[INFO] [stdout]    --> src/internal_macros.rs:195:32
[INFO] [stdout]     |
[INFO] [stdout] 195 |         impl ::std::ops::Index<::std::ops::RangeFrom<usize>> for $thing {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/blockdata/script.rs:686:1
[INFO] [stdout]     |
[INFO] [stdout] 686 | impl_index_newtype!(Builder, u8);
[INFO] [stdout]     | -------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `impl_index_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeFrom` type in public function
[INFO] [stdout]    --> src/internal_macros.rs:199:36
[INFO] [stdout]     |
[INFO] [stdout] 199 |             fn index(&self, index: ::std::ops::RangeFrom<usize>) -> &[$ty] {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/blockdata/script.rs:686:1
[INFO] [stdout]     |
[INFO] [stdout] 686 | impl_index_newtype!(Builder, u8);
[INFO] [stdout]     | -------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `impl_index_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `Range` type
[INFO] [stdout]    --> src/internal_macros.rs:177:32
[INFO] [stdout]     |
[INFO] [stdout] 177 |         impl ::std::ops::Index<::std::ops::Range<usize>> for $thing {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/bip32.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout] 35  | impl_array_newtype!(ChainCode, u8, 32);
[INFO] [stdout]     | -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `impl_index_newtype` which comes from the expansion of the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/internal_macros.rs:181:36
[INFO] [stdout]     |
[INFO] [stdout] 181 |             fn index(&self, index: ::std::ops::Range<usize>) -> &[$ty] {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/bip32.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout] 35  | impl_array_newtype!(ChainCode, u8, 32);
[INFO] [stdout]     | -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `impl_index_newtype` which comes from the expansion of the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeFrom` type
[INFO] [stdout]    --> src/internal_macros.rs:195:32
[INFO] [stdout]     |
[INFO] [stdout] 195 |         impl ::std::ops::Index<::std::ops::RangeFrom<usize>> for $thing {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/bip32.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout] 35  | impl_array_newtype!(ChainCode, u8, 32);
[INFO] [stdout]     | -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `impl_index_newtype` which comes from the expansion of the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeFrom` type in public function
[INFO] [stdout]    --> src/internal_macros.rs:199:36
[INFO] [stdout]     |
[INFO] [stdout] 199 |             fn index(&self, index: ::std::ops::RangeFrom<usize>) -> &[$ty] {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/bip32.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout] 35  | impl_array_newtype!(ChainCode, u8, 32);
[INFO] [stdout]     | -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `impl_index_newtype` which comes from the expansion of the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `Range` type
[INFO] [stdout]    --> src/internal_macros.rs:177:32
[INFO] [stdout]     |
[INFO] [stdout] 177 |         impl ::std::ops::Index<::std::ops::Range<usize>> for $thing {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/bip32.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout] 41  | impl_array_newtype!(Fingerprint, u8, 4);
[INFO] [stdout]     | --------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `impl_index_newtype` which comes from the expansion of the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/internal_macros.rs:181:36
[INFO] [stdout]     |
[INFO] [stdout] 181 |             fn index(&self, index: ::std::ops::Range<usize>) -> &[$ty] {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/bip32.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout] 41  | impl_array_newtype!(Fingerprint, u8, 4);
[INFO] [stdout]     | --------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `impl_index_newtype` which comes from the expansion of the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeFrom` type
[INFO] [stdout]    --> src/internal_macros.rs:195:32
[INFO] [stdout]     |
[INFO] [stdout] 195 |         impl ::std::ops::Index<::std::ops::RangeFrom<usize>> for $thing {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/bip32.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout] 41  | impl_array_newtype!(Fingerprint, u8, 4);
[INFO] [stdout]     | --------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `impl_index_newtype` which comes from the expansion of the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeFrom` type in public function
[INFO] [stdout]    --> src/internal_macros.rs:199:36
[INFO] [stdout]     |
[INFO] [stdout] 199 |             fn index(&self, index: ::std::ops::RangeFrom<usize>) -> &[$ty] {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/bip32.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout] 41  | impl_array_newtype!(Fingerprint, u8, 4);
[INFO] [stdout]     | --------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `impl_index_newtype` which comes from the expansion of the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `Range` type
[INFO] [stdout]    --> src/internal_macros.rs:177:32
[INFO] [stdout]     |
[INFO] [stdout] 177 |         impl ::std::ops::Index<::std::ops::Range<usize>> for $thing {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/bip32.rs:217:1
[INFO] [stdout]     |
[INFO] [stdout] 217 | impl_index_newtype!(DerivationPath, ChildNumber);
[INFO] [stdout]     | ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `impl_index_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/internal_macros.rs:181:36
[INFO] [stdout]     |
[INFO] [stdout] 181 |             fn index(&self, index: ::std::ops::Range<usize>) -> &[$ty] {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/bip32.rs:217:1
[INFO] [stdout]     |
[INFO] [stdout] 217 | impl_index_newtype!(DerivationPath, ChildNumber);
[INFO] [stdout]     | ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `impl_index_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeFrom` type
[INFO] [stdout]    --> src/internal_macros.rs:195:32
[INFO] [stdout]     |
[INFO] [stdout] 195 |         impl ::std::ops::Index<::std::ops::RangeFrom<usize>> for $thing {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/bip32.rs:217:1
[INFO] [stdout]     |
[INFO] [stdout] 217 | impl_index_newtype!(DerivationPath, ChildNumber);
[INFO] [stdout]     | ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `impl_index_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeFrom` type in public function
[INFO] [stdout]    --> src/internal_macros.rs:199:36
[INFO] [stdout]     |
[INFO] [stdout] 199 |             fn index(&self, index: ::std::ops::RangeFrom<usize>) -> &[$ty] {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/bip32.rs:217:1
[INFO] [stdout]     |
[INFO] [stdout] 217 | impl_index_newtype!(DerivationPath, ChildNumber);
[INFO] [stdout]     | ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `impl_index_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `Range` type
[INFO] [stdout]    --> src/internal_macros.rs:177:32
[INFO] [stdout]     |
[INFO] [stdout] 177 |         impl ::std::ops::Index<::std::ops::Range<usize>> for $thing {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/uint.rs:369:1
[INFO] [stdout]     |
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `impl_index_newtype` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/internal_macros.rs:181:36
[INFO] [stdout]     |
[INFO] [stdout] 181 |             fn index(&self, index: ::std::ops::Range<usize>) -> &[$ty] {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/uint.rs:369:1
[INFO] [stdout]     |
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `impl_index_newtype` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeFrom` type
[INFO] [stdout]    --> src/internal_macros.rs:195:32
[INFO] [stdout]     |
[INFO] [stdout] 195 |         impl ::std::ops::Index<::std::ops::RangeFrom<usize>> for $thing {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/uint.rs:369:1
[INFO] [stdout]     |
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `impl_index_newtype` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeFrom` type in public function
[INFO] [stdout]    --> src/internal_macros.rs:199:36
[INFO] [stdout]     |
[INFO] [stdout] 199 |             fn index(&self, index: ::std::ops::RangeFrom<usize>) -> &[$ty] {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/uint.rs:369:1
[INFO] [stdout]     |
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `impl_index_newtype` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `Range` type
[INFO] [stdout]    --> src/internal_macros.rs:177:32
[INFO] [stdout]     |
[INFO] [stdout] 177 |         impl ::std::ops::Index<::std::ops::Range<usize>> for $thing {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/uint.rs:370:1
[INFO] [stdout]     |
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `impl_index_newtype` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/internal_macros.rs:181:36
[INFO] [stdout]     |
[INFO] [stdout] 181 |             fn index(&self, index: ::std::ops::Range<usize>) -> &[$ty] {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/uint.rs:370:1
[INFO] [stdout]     |
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `impl_index_newtype` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeFrom` type
[INFO] [stdout]    --> src/internal_macros.rs:195:32
[INFO] [stdout]     |
[INFO] [stdout] 195 |         impl ::std::ops::Index<::std::ops::RangeFrom<usize>> for $thing {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/uint.rs:370:1
[INFO] [stdout]     |
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `impl_index_newtype` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeFrom` type in public function
[INFO] [stdout]    --> src/internal_macros.rs:199:36
[INFO] [stdout]     |
[INFO] [stdout] 199 |             fn index(&self, index: ::std::ops::RangeFrom<usize>) -> &[$ty] {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/uint.rs:370:1
[INFO] [stdout]     |
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `impl_index_newtype` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 28 previous errors; 200 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pexacoin` (lib) due to 29 previous errors; 200 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/uint.rs:335:18
[INFO] [stdout]     |
[INFO] [stdout] 335 |                 <fmt::Debug>::fmt(self, f)
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/uint.rs:335:18
[INFO] [stdout]     |
[INFO] [stdout] 335 |                 <fmt::Debug>::fmt(self, f)
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 370 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/mod.rs:94:39
[INFO] [stdout]    |
[INFO] [stdout] 94 |             Error::Encode(ref e) => e.description(),
[INFO] [stdout]    |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/mod.rs:95:40
[INFO] [stdout]    |
[INFO] [stdout] 95 |             Error::Network(ref e) => e.description(),
[INFO] [stdout]    |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:138:35
[INFO] [stdout]     |
[INFO] [stdout] 138 |             Error::Io(ref e) => e.description(),
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:139:39
[INFO] [stdout]     |
[INFO] [stdout] 139 |             Error::Base58(ref e) => e.description(),
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:140:42
[INFO] [stdout]     |
[INFO] [stdout] 140 |             Error::ByteOrder(ref e) => e.description(),
[INFO] [stdout]     |                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:141:42
[INFO] [stdout]     |
[INFO] [stdout] 141 |             Error::Secp256k1(ref e) => e.description(),
[INFO] [stdout]     |                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:142:37
[INFO] [stdout]     |
[INFO] [stdout] 142 |             Error::Psbt(ref e) => e.description(),
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/consensus/encode.rs:819:25
[INFO] [stdout]     |
[INFO] [stdout] 819 |             x => panic!(x)
[INFO] [stdout]     |                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{:?}" format string to use the `Debug` implementation of `Result<Vec<u8>, encode::Error>`
[INFO] [stdout]     |
[INFO] [stdout] 819 |             x => panic!("{:?}", x)
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 819 |             x => std::panic::panic_any(x)
[INFO] [stdout]     |                  ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/consensus/encode.rs:823:25
[INFO] [stdout]     |
[INFO] [stdout] 823 |             x => panic!(x)
[INFO] [stdout]     |                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{:?}" format string to use the `Debug` implementation of `Result<Vec<u8>, encode::Error>`
[INFO] [stdout]     |
[INFO] [stdout] 823 |             x => panic!("{:?}", x)
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 823 |             x => std::panic::panic_any(x)
[INFO] [stdout]     |                  ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/consensus/encode.rs:827:25
[INFO] [stdout]     |
[INFO] [stdout] 827 |             x => panic!(x)
[INFO] [stdout]     |                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{:?}" format string to use the `Debug` implementation of `Result<Vec<u8>, encode::Error>`
[INFO] [stdout]     |
[INFO] [stdout] 827 |             x => panic!("{:?}", x)
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 827 |             x => std::panic::panic_any(x)
[INFO] [stdout]     |                  ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/consensus/encode.rs:831:25
[INFO] [stdout]     |
[INFO] [stdout] 831 |             x => panic!(x)
[INFO] [stdout]     |                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{:?}" format string to use the `Debug` implementation of `Result<Vec<u8>, encode::Error>`
[INFO] [stdout]     |
[INFO] [stdout] 831 |             x => panic!("{:?}", x)
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 831 |             x => std::panic::panic_any(x)
[INFO] [stdout]     |                  ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/consensus/encode.rs:835:25
[INFO] [stdout]     |
[INFO] [stdout] 835 |             x => panic!(x)
[INFO] [stdout]     |                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{:?}" format string to use the `Debug` implementation of `Result<Vec<u8>, encode::Error>`
[INFO] [stdout]     |
[INFO] [stdout] 835 |             x => panic!("{:?}", x)
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 835 |             x => std::panic::panic_any(x)
[INFO] [stdout]     |                  ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/consensus/encode.rs:839:25
[INFO] [stdout]     |
[INFO] [stdout] 839 |             x => panic!(x)
[INFO] [stdout]     |                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{:?}" format string to use the `Debug` implementation of `Result<Vec<u8>, encode::Error>`
[INFO] [stdout]     |
[INFO] [stdout] 839 |             x => panic!("{:?}", x)
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 839 |             x => std::panic::panic_any(x)
[INFO] [stdout]     |                  ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 215 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "0b81bc765c2b729e8e9685f7180ed677899ad1435a34cfa83d8d17eb707c8a18", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0b81bc765c2b729e8e9685f7180ed677899ad1435a34cfa83d8d17eb707c8a18", kill_on_drop: false }`
[INFO] [stdout] 0b81bc765c2b729e8e9685f7180ed677899ad1435a34cfa83d8d17eb707c8a18
